मुख्य सामग्री पर जाएं
Android

Custom Tabs का उपयोग करके अपने Android ऐप में Human Token Journey को एकीकृत करें।

Markdown

Custom Tabs आपके ऐप के अंदर एक ब्राउज़र टैब में Human Token Journey लॉन्च करता है। जब यात्रा पूरी होती है, तो ब्राउज़र आपके कस्टम URL स्कीम पर रीडायरेक्ट करता है और आपका ऐप इसे इंटरसेप्ट करता है।

पूर्वापेक्षाएँ​

  • Android 8 (API 26) या बाद का
  • androidx.browser:browser:1.5.0
  • आपके ऐप के लिए एक अद्वितीय URL स्कीम (जैसे myapp)

चरण 1: डिपेंडेंसी जोड़ें​

अपनी build.gradle में:

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

चरण 2: अपना URL स्कीम परिभाषित करें​

एक अद्वितीय स्कीम चुनें (जैसे myapp)। प्रोसेस बनाते समय इसे callbackUri के रूप में उपयोग किया जाता है:

callbackUri: myapp://callback

चरण 3: एक्टिविटी बनाएँ​

import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.browser.customtabs.CustomTabsIntent

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

चरण 4: 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 सुनिश्चित करता है कि Android नई एक्टिविटी बनाने के बजाय मौजूदा एक्टिविटी पर onNewIntent() कॉल करे।

चरण 5: यात्रा शुरू करें​

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

फ़ाइल सारांश​

फ़ाइलउद्देश्य
build.gradleandroidx.browser डिपेंडेंसी
HumanTokenActivity.ktCustom Tabs लॉन्च + रीडायरेक्ट हैंडलिंग
AndroidManifest.xmlआपके URL स्कीम के लिए Intent फ़िल्टर