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.