---
title: Android
description: Integrasikan Human Token Journey ke dalam aplikasi Android Anda menggunakan Custom Tabs — ringan, aman, dan tanpa WebView.
canonical: https://developer.unico.io/id/human-token/integrations/app/android
locale: id
generated_by: markdown-export
---

- [/id/](/id/)
- [Integrasi](/id/human-token/integrations)
- Aplikasi
- Android

**Di halaman iniAndroidIntegrasikan Human Token Journey ke dalam aplikasi Android Anda menggunakan Custom Tabs.

Custom Tabs meluncurkan Human Token Journey di tab browser dalam aplikasi Anda. Saat perjalanan selesai, browser mengarahkan ulang ke skema URL kustom Anda dan aplikasi Anda menangkapnya.
### Prasyarat​

Android 8 (API 26) atau lebih baru
`androidx.browser:browser:1.5.0`
Skema URL unik untuk aplikasi Anda (misalnya `myapp`)

### Langkah 1: Tambahkan dependensi​

Di `build.gradle` Anda:
```
implementation("androidx.browser:browser:1.5.0")
```

### Langkah 2: Tentukan skema URL Anda​

Pilih skema unik (misalnya `myapp`). Ini digunakan sebagai `callbackUri` saat membuat proses:
```
callbackUri: myapp://callback
```

### Langkah 3: Buat activity​

```
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"    }}
```

### Langkah 4: Konfigurasi 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` memastikan Android memanggil `onNewIntent()` pada activity yang sudah ada, bukan membuat yang baru.
### Langkah 5: Mulai perjalanan​

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

### Ringkasan file​

FileTujuan`build.gradle`Dependensi `androidx.browser``HumanTokenActivity.kt`Peluncuran Custom Tabs + penanganan redirect`AndroidManifest.xml`Intent filter untuk skema URL AndaTerakhir diperbarui pada 21 Okt 2026**