Saltar al contenido principal

Android

El campo link se utiliza para dirigir al usuario. Este campo se recibe en la respuesta exitosa de creación de la transacción.

Aquí encontrarás la mejor manera de gestionar la experiencia del usuario en tu aplicación Android:

Paso 1: Usar CustomTabs para la integración

Agrega la dependencia necesaria para usar CustomTabs en tu app/build.gradle:

implementation("androidx.browser:browser:1.5.0")

Paso 2: Abrir un CustomTab

import android.net.Uri
import androidx.activity.ComponentActivity
import androidx.browser.customtabs.CustomTabsClient
import androidx.browser.customtabs.CustomTabsIntent

class CustomTabActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

openCustomTab(<URL_CBU>)
}

fun openCustomTab(url: String) {
val builder = CustomTabsIntent.Builder()
val customTabsIntent = builder.build()
customTabsIntent.launchUrl(this, Uri.parse(url))
}
}

Paso 3: Modificar el AndroidManifest

Agrega los permisos e intents necesarios en el AndroidManifest.xml para la Activity que recibirá el callback_uri. Es necesario incluir el atributo android:launchMode="singleTop", así como la etiqueta <data> proporcionando los datos de la URI.

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA"/>
// permissions for camera and geolocation are required

<activity
android:name=".CustomTabActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Customtabs"
android:launchMode="singleTop">

<intent-filter android:label="Custom Tab">
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<!-- scheme and host are the data provided at process creation in the callback_uri field
callback_uri: "foobar://success?code=1234" -->
<data android:scheme="foobar" android:host="success"/>
</intent-filter>

</activity>

Los siguientes permisos son necesarios para que funcione correctamente:

  • Cámara
  • Geolocalización

Paso 4: Obtener la información de retorno

Para recuperar la información de redirección con los datos proporcionados, puedes usar el siguiente código en el método onNewIntent de tu Activity:

override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)

val url = intent.data
val scheme = url.scheme // "foobar"
val host = url.host // "success"
val code = url.getQueryParameter("code") // "1234"
}
consejo

También es posible usar el enlace generado por Unico en frameworks híbridos. Para hacerlo, puedes crear un puente entre el framework utilizado y el nativo, y seguir lo que sugerimos en los documentos, o usar una librería que ofrezca estas opciones de integración.

advertencia

La integración de WebView en tu aplicación es responsabilidad exclusiva del cliente, ya que esta funcionalidad no se ofrece como parte de las librerías o SDKs de Unico. Por este motivo, no ofrecemos soporte técnico para preguntas o problemas relacionados con la implementación de WebView en tu aplicación. Para orientación sobre configuración, recomendamos consultar la documentación oficial de la tecnología utilizada en tu proyecto (por ejemplo, React Native, Flutter, etc.).