---
title: Android
description: Intégrez le parcours Human Token dans votre application Android avec Custom Tabs — léger, sécurisé et sans WebView.
canonical: https://developer.unico.io/fr/human-token/integrations/app/android
locale: fr
generated_by: markdown-export
---

- [/fr/](/fr/)
- [Intégrations](/fr/human-token/integrations)
- Application
- Android

**Sur cette pageAndroidIntégrez le parcours Human Token dans votre application Android avec Custom Tabs.

Custom Tabs lance le parcours Human Token dans un onglet de navigateur au sein de votre application. Lorsque le parcours est terminé, le navigateur redirige vers votre schéma d'URL personnalisé et votre application l'intercepte.
### Prérequis​

Android 8 (API 26) ou ultérieur
`androidx.browser:browser:1.5.0`
Un schéma d'URL unique pour votre application (par ex. `myapp`)

### Étape 1 : Ajouter la dépendance​

Dans votre `build.gradle` :
```
implementation("androidx.browser:browser:1.5.0")
```

### Étape 2 : Définir votre schéma d'URL​

Choisissez un schéma unique (par ex. `myapp`). Il est utilisé comme `callbackUri` lors de la création du processus :
```
callbackUri: myapp://callback
```

### Étape 3 : Créer l'activité​

```
import android.content.Intentimport android.net.Uriimport android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport androidx.browser.customtabs.CustomTabsIntentclass HumanTokenActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        val url = intent.getStringExtra(EXTRA_PROCESS_URL) ?: return finish()        CustomTabsIntent.Builder()            .build()            .launchUrl(this, Uri.parse(url))    }    override fun onNewIntent(intent: Intent) {        super.onNewIntent(intent)        intent.data?.let { uri ->            if (uri.scheme == "myapp") {                // Journey completed — send processId to your backend                val processId = uri.getQueryParameter("id")                handleResult(processId)            }        }    }    private fun handleResult(processId: String?) {        // Fetch the result from your backend via Get Process        finish()    }    companion object {        const val EXTRA_PROCESS_URL = "process_url"    }}
```

### Étape 4 : Configurer AndroidManifest.xml​

```
<uses-feature android:name="android.hardware.camera" android:required="false" /><uses-permission android:name="android.permission.CAMERA" /><activity    android:name=".HumanTokenActivity"    android:launchMode="singleTop"    android:exported="true">    <intent-filter>        <action android:name="android.intent.action.VIEW" />        <category android:name="android.intent.category.DEFAULT" />        <category android:name="android.intent.category.BROWSABLE" />        <data android:scheme="myapp" android:host="callback" />    </intent-filter></activity>
```

`singleTop` garantit qu'Android appelle `onNewIntent()` sur l'activité existante au lieu d'en créer une nouvelle.
### Étape 5 : Lancer le parcours​

```
val intent = Intent(this, HumanTokenActivity::class.java)    .putExtra(HumanTokenActivity.EXTRA_PROCESS_URL, processLink)startActivity(intent)
```

### Résumé des fichiers​

FichierObjectif`build.gradle`Dépendance `androidx.browser``HumanTokenActivity.kt`Lancement Custom Tabs + gestion de la redirection`AndroidManifest.xml`Filtre d'intent pour votre schéma d'URLDernière mise à jour le 21 oct. 2026**