Aller au contenu principal

Android

Le champ link est utilisé pour diriger l'utilisateur. Ce champ est reçu dans la réponse de succès de la création de la transaction.

Vous trouverez ici la meilleure façon de gérer l'expérience utilisateur dans votre application Android :

Étape 1 : utiliser CustomTabs pour l'intégration

Ajoutez la dépendance nécessaire pour utiliser CustomTabs dans votre app/build.gradle :

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

Étape 2 : ouvrir 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))
}
}

Étape 3 : modifier l'AndroidManifest

Ajoutez les permissions et intents nécessaires dans le fichier AndroidManifest.xml pour l'Activity qui doit recevoir le callback_uri. Il est nécessaire d'inclure l'attribut android:launchMode="singleTop" ainsi que la balise <data> fournissant les données de l'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>

Les permissions suivantes sont nécessaires pour un fonctionnement correct :

  • Caméra
  • Géolocalisation

Étape 4 : récupérer les informations de retour

Pour récupérer les informations de redirection avec les données fournies, vous pouvez utiliser le code suivant dans la méthode onNewIntent de votre 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"
}
conseil

Il est également possible d'utiliser le lien généré par Unico dans des frameworks hybrides. Pour cela, vous pouvez créer un pont entre le framework utilisé et le natif et suivre nos recommandations dans les documents, ou utiliser une bibliothèque qui propose ces options d'intégration.

avertissement

L'intégration de WebView dans votre application relève de la seule responsabilité du client, car cette fonctionnalité n'est pas proposée dans le cadre des bibliothèques ou SDK d'Unico. Pour cette raison, nous n'offrons pas de support technique pour les questions ou problèmes liés à l'implémentation de WebView dans votre application. Pour des conseils de configuration, nous recommandons de consulter la documentation officielle de la technologie utilisée dans votre projet (par exemple React Native, Flutter, etc.).