---
title: Android
description: 'Mengelola pengalaman pengambilan Verifikasi Kartu Tidak Hadir di Android melalui CustomTabs: dependency, membuka tab, konfigurasi manifest, dan membaca callback.'
canonical: https://developer.unico.io/id/dual-api/developers/regional-solutions/card-not-present-verification/integration/controlling-the-experience/mobile/android
locale: id
generated_by: markdown-export
---

Field **link** digunakan untuk mengarahkan pengguna. Field ini diterima dalam respons keberhasilan pembuatan transaksi.

Di sini Anda akan menemukan cara terbaik untuk mengelola pengalaman pengguna di aplikasi Android Anda:

### Langkah 1: Menggunakan CustomTabs untuk Integrasi

Tambahkan dependency yang diperlukan untuk menggunakan CustomTabs di `app/build.gradle` Anda:

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

### Langkah 2: Membuka CustomTab

```java
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))
    }
}
```

### Langkah 3: Memodifikasi AndroidManifest

Tambahkan izin dan intent yang diperlukan di `AndroidManifest.xml` untuk Activity yang ingin Anda gunakan untuk menerima `callback_uri`. Perlu menyertakan atribut `android:launchMode="singleTop"` serta tag `<data>` yang menyediakan data URI.

```java
<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>
```

Izin berikut diperlukan agar dapat berfungsi dengan benar:

- Kamera
- Geolokasi

### Langkah 4: Mendapatkan Informasi Kembalian

Untuk mendapatkan informasi redirect dengan data yang diberikan, Anda dapat menggunakan kode berikut di method `onNewIntent` pada Activity Anda:

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

:::tip
Anda juga dapat menggunakan tautan yang dihasilkan oleh Unico dalam framework hybrid. Untuk melakukannya, Anda dapat membuat bridge antara framework yang digunakan dan native, serta mengikuti saran kami dalam dokumen ini, atau menggunakan library yang menyediakan opsi integrasi ini.
:::

:::warning
Mengintegrasikan WebView ke dalam aplikasi Anda sepenuhnya menjadi tanggung jawab pelanggan, karena fungsionalitas ini tidak ditawarkan sebagai bagian dari library atau SDK Unico. Karena itu, kami tidak memberikan dukungan teknis untuk pertanyaan atau masalah terkait implementasi WebView di aplikasi Anda. Untuk panduan konfigurasi, kami menyarankan Anda merujuk pada dokumentasi resmi teknologi yang digunakan dalam proyek Anda (misalnya React Native, Flutter, dll.).
:::