Android कैप्चर
कैप्चर को Custom Tab में खोलें और व्यक्ति को अपने ऐप में वापस लाएँ।
आपका बैक-एंड Human Plugin में Journey flow और आपके ऐप के URL scheme वाले callbackUri के साथ प्रोसेस बनाता है। ऐप उत्तर के link को Custom Tab में खोलता है। कैप्चर समाप्त होने पर, ब्राउज़र आपका scheme खोलता है और ऐप नियंत्रण सँभाल लेता है।
create के उत्तर से Human Plugin का id सँभालकर रखें। आपका बैक-एंड उसी से नतीजा पढ़ता है।
पूर्वापेक्षाएँ
- Android 8 (API 26) या बाद का
androidx.browser:browser:1.5.0- आपके ऐप के लिए अद्वितीय URL scheme, जैसे
myapp
1. डिपेंडेंसी जोड़ें
build.gradle में:
implementation("androidx.browser:browser:1.5.0")
2. अपने scheme के साथ प्रोसेस बनाएँ
आपका बैक-एंड scheme को callbackUri के रूप में भेजता है:
{
"flow": "humantoken",
"clientId": "client-a",
"correlationId": "order-1001",
"credential": { "type": "DUI_TYPE_NG_BVN", "value": "<document number>" },
"callbackUri": "myapp://callback"
}
और ऐप को id तथा link लौटाता है।
3. एक्टिविटी बनाएँ
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.browser.customtabs.CustomTabsIntent
class CaptureActivity : AppCompatActivity() {
private var processId: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
processId = intent.getStringExtra(EXTRA_PROCESS_ID)
val link = intent.getStringExtra(EXTRA_LINK) ?: return finish()
CustomTabsIntent.Builder()
.build()
.launchUrl(this, Uri.parse(link))
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
if (intent.data?.scheme == "myapp") {
// कैप्चर समाप्त हुआ। अपने बैक-एंड से कहें कि Human Plugin के id के साथ
// GET /v1/processes/{id} से नतीजा पढ़े।
onCaptureEnded(processId)
}
}
private fun onCaptureEnded(processId: String?) {
finish()
}
companion object {
const val EXTRA_PROCESS_ID = "process_id"
const val EXTRA_LINK = "link"
}
}