---
title: Android
description: 'CustomTabs के माध्यम से Android में कार्ड नॉट प्रेजेंट सत्यापन कैप्चर एक्सपीरियंस को मैनेज करना: डिपेंडेंसी, टैब खोलना, मैनिफेस्ट कॉन्फ़िगरेशन, और कॉलबैक को पढ़ना।'
canonical: https://developer.unico.io/hi/dual-api/developers/regional-solutions/card-not-present-verification/integration/controlling-the-experience/mobile/android
locale: hi
generated_by: markdown-export
---

**link** फ़ील्ड का उपयोग उपयोगकर्ता को डायरेक्ट करने के लिए किया जाता है। यह फ़ील्ड लेनदेन निर्माण की सफल प्रतिक्रिया में प्राप्त होती है।

यहां आपको अपने Android एप्लिकेशन में उपयोगकर्ता एक्सपीरियंस को मैनेज करने का सबसे अच्छा तरीका मिलेगा:

### चरण 1: इंटीग्रेशन के लिए CustomTabs का उपयोग करना

अपने `app/build.gradle` में CustomTabs का उपयोग करने के लिए आवश्यक डिपेंडेंसी जोड़ें:

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

### चरण 2: एक 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))
    }
}
```

### चरण 3: AndroidManifest को संशोधित करना

उस Activity के लिए `AndroidManifest.xml` में आवश्यक अनुमतियां और intents जोड़ें जिसे आप `callback_uri` प्राप्त करना चाहते हैं। `android:launchMode="singleTop"` एट्रिब्यूट के साथ-साथ URI डेटा प्रदान करने वाला `<data>` टैग शामिल करना आवश्यक है।

```java
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA"/>
// कैमरा और जियोलोकेशन के लिए अनुमतियां आवश्यक हैं

<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 और host वह डेटा हैं जो callback_uri फ़ील्ड में प्रोसेस निर्माण के समय प्रदान किए जाते हैं
        callback_uri: "foobar://success?code=1234" -->
        <data android:scheme="foobar" android:host="success"/>
    </intent-filter>

</activity>
```

सही ढंग से काम करने के लिए निम्नलिखित अनुमतियां आवश्यक हैं:

- कैमरा
- जियोलोकेशन

### चरण 4: रिटर्न जानकारी प्राप्त करना

प्रदान किए गए डेटा के साथ रीडायरेक्ट जानकारी प्राप्त करने के लिए, आप अपनी Activity के `onNewIntent` मेथड में निम्नलिखित कोड का उपयोग कर सकते हैं:

```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
हाइब्रिड फ्रेमवर्क में Unico द्वारा जनरेट किए गए लिंक का उपयोग करना भी संभव है। ऐसा करने के लिए, आप उपयोग किए गए फ्रेमवर्क और नेटिव फ्रेमवर्क के बीच एक ब्रिज बना सकते हैं और दस्तावेज़ों में हमारे सुझाव के अनुसार आगे बढ़ सकते हैं, या ऐसी लाइब्रेरी का उपयोग कर सकते हैं जो ये इंटीग्रेशन विकल्प उपलब्ध कराती है।
:::

:::warning
अपने एप्लिकेशन में WebView को इंटीग्रेट करना पूरी तरह से ग्राहक की जिम्मेदारी है, क्योंकि यह फंक्शनैलिटी Unico की लाइब्रेरी या SDK के हिस्से के रूप में प्रदान नहीं की जाती है। इस वजह से, हम अपने एप्लिकेशन में WebView को इम्प्लीमेंट करने से संबंधित प्रश्नों या समस्याओं के लिए तकनीकी सहायता प्रदान नहीं करते हैं। कॉन्फ़िगरेशन मार्गदर्शन के लिए, हम आपके प्रोजेक्ट में उपयोग की जाने वाली तकनीक (जैसे React Native, Flutter, आदि) के लिए आधिकारिक दस्तावेज़ से परामर्श लेने की सलाह देते हैं।
:::