Integrar con Java o Kotlin
En el desarrollo de aplicaciones mĂłviles, a menudo surge la necesidad de mostrar contenido web dentro de la aplicaciĂłn. Para lograr esto, existen varias opciones, entre las cuales se destacan el uso de Custom Tabs (para Android) y Safari View Controller (para iOS). Estas tecnologĂas permiten abrir pĂĄginas web en un navegador nativo integrado en la aplicaciĂłn, brindando una experiencia de navegaciĂłn mĂĄs fluida y coherente para los usuarios.
En este paso vamos a instalar y configurar las dependencias necesarias para implementar Custom Tabs en tu proyecto desarrollado en Java o Kotlin.
ConfiguraciĂłn para Android Nativo
Client-Side
Si usas Android Nativo para desarrollar tu aplicaciĂłn lo primero que necesitas es instalar esta dependencia en el archivo build.gradle.
Java
dependencies {
...
implementation "androidx.browser:browser:1.4.0"
}
El siguiente paso es implementar las Custom Tabs. Para hacerlo, sĂłlo deberĂĄs instanciarlas. A continuaciĂłn, te compartimos un ejemplo de una Custom Tab simple.
El siguiente cĂłdigo puede ser colocado al abrir una actividad o al ejecutar una acciĂłn de la misma, en donde el valor url
es igual a la init url
de nuestro checkout.
String url = "URL-PREFERENCE";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.build();
intent.launchUrl(MainActivity.this, Uri.parse(url));
val url = "URL-PREFERENCE"
val intent = CustomTabsIntent.Builder()
.build()
intent.launchUrl(this@MainActivity, Uri.parse(url))
CĂłmo volver a tu App
Client-Side
Los Deep Links, tambiĂ©n conocidos como enlaces profundos, son una forma poderosa de permitir la navegaciĂłn directa a pantallas o secciones especĂficas de una aplicaciĂłn mĂłvil.
Crear un Deep Link
Desde nuestro checkout es posible configurar Deep Links para volver a tu aplicaciĂłn, ya sea haciendo click en un link de âVolverâ, o de forma automĂĄtica al terminar todo un flujo de pago exitoso, para luego ser redirigido a tu App.
Para esto, debemos agregar en la creaciĂłn de la preferencia de pago las propiedades back_urls
y auto_return
, segĂșn corresponda.
Para conocer mĂĄs, puedes acceder a la documentaciĂłn de URLs de retorno.
ConfiguraciĂłn de la aplicaciĂłn para la gestiĂłn del Deep Link
Client-Side
Para configurar un deeplink nativo en android, dirĂgete al archivo android /app/src/main/AndroidManifest.xml y declara cuĂĄl es la actividad que va estar disponible como deeplink. A continuaciĂłn te compartimos un ejemplo de cĂłmo es una actividad con Deep Link.
AndroidManifest.xml
<activity
android:name=".Congrats"
android:exported="true"
android:label="@string/deeplink"
android:theme="@style/Theme.MyApplication.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "yourapp://congrats" -->
<data android:scheme="yourapp"
android:host="congrats" />
</intent-filter>
</activity>
En los valores intent
deberĂĄs establecer que la actividad sea navegable por otras aplicaciones. Con los valores scheme
y host
podrĂĄs definir el deeplink de la app a una actividad especĂfica.
Ten en cuenta que este deeplink es el que usarĂĄs en todas las back_url
de tu preferencia. En los ciclos de la actividad que fue expuesta (por ejemplo, onCreate, onResume) podrås colocar tu lógica de negocio después del pago.