Integrar con Java o Kotlin
Durante el desarrollo de aplicaciones mĂłviles con React Native, es necesario mostrar contenido web dentro de una 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.
Android
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
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
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
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.