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"
}
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.
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.).