---
title: Android
description: 'Verwaltung der Erfassungserfahrung von Verifizierung ohne physische Karte unter Android über CustomTabs: Abhängigkeit, Öffnen des Tabs, Manifest-Konfiguration und Auslesen des Callbacks.'
canonical: https://developer.unico.io/de/dual-api/developers/regional-solutions/card-not-present-verification/integration/controlling-the-experience/mobile/android
locale: de
generated_by: markdown-export
---

Das Feld **link** wird verwendet, um den Benutzer zu leiten. Dieses Feld wird in der Erfolgsantwort der Transaktionserstellung empfangen.

Hier finden Sie die beste Möglichkeit, die Benutzererfahrung in Ihrer Android-Anwendung zu verwalten:

### Schritt 1: Verwendung von CustomTabs für die Integration

Fügen Sie die erforderliche Abhängigkeit für die Verwendung von CustomTabs in Ihrer `app/build.gradle` hinzu:

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

### Schritt 2: Öffnen eines 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))
    }
}
```

### Schritt 3: Ändern des AndroidManifest

Fügen Sie in der `AndroidManifest.xml` die erforderlichen Berechtigungen und Intents für die Activity hinzu, die den `callback_uri` empfangen soll. Es ist notwendig, das Attribut `android:launchMode="singleTop"` sowie das `<data>`-Tag mit den URI-Daten einzufügen.

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

Folgende Berechtigungen sind für die korrekte Funktion erforderlich:

- Kamera
- Standortermittlung

### Schritt 4: Abrufen der Rückgabeinformationen

Um die Weiterleitungsinformationen mit den bereitgestellten Daten abzurufen, können Sie den folgenden Code in der `onNewIntent`-Methode Ihrer Activity verwenden:

```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
Es ist auch möglich, den von Unico generierten Link in Hybrid-Frameworks zu verwenden. Dazu können Sie eine Brücke zwischen dem verwendeten Framework und dem nativen Code erstellen und dabei wie in den Dokumenten vorgeschlagen vorgehen oder eine Bibliothek verwenden, die diese Integrationsoptionen bereitstellt.
:::

:::warning
Die Integration von WebView in Ihre Anwendung liegt in der alleinigen Verantwortung des Kunden, da diese Funktionalität nicht als Teil der Bibliotheken oder SDKs von Unico angeboten wird. Aus diesem Grund bieten wir keinen technischen Support für Fragen oder Probleme im Zusammenhang mit der Implementierung von WebView in Ihrer Anwendung. Für Konfigurationshinweise empfehlen wir, die offizielle Dokumentation der in Ihrem Projekt verwendeten Technologie zu konsultieren (z. B. React Native, Flutter usw.).
:::