Android 15 Beta 2 থেকে শুরু করে, androidx.credentials:1.5.0-alpha01-এর সাথে পেয়ার করা, ডেভেলপাররা ক্রেডেনশিয়াল ম্যানেজার অনুরোধের সাথে ইউজারনেম বা পাসওয়ার্ড ফিল্ডের মতো নির্দিষ্ট ভিউ লিঙ্ক করতে পারবেন। ব্যবহারকারী এইসব ভিউয়ের মধ্যে কোনও একটিতে ফোকাস করলে, সংশ্লিষ্ট অনুরোধ ক্রেডেনশিয়াল ম্যানেজারে পাঠানো হয়। এর ফলে পাওয়া ক্রেডেনশিয়াল বিভিন্ন পরিষেবা প্রদানকারী জুড়ে অ্যাগ্রিগেট করা হয় এবং অটোফিল UI-তে দেখানো হয়, যেমন কীবোর্ড ইনলাইন সাজেশন বা ড্রপ-ডাউন সাজেশন। ব্যবহারকারী ভুলবশত ক্রেডেনশিয়াল ম্যানেজার অ্যাকাউন্ট নির্বাচক বাতিল করে দিলে এবং তারপরে প্রাসঙ্গিক ফিল্ডে ট্যাপ করলে, এই ফিচারটি ফলব্যাক হিসেবে ব্যবহার করা যেতে পারে।
এই ফিচার ব্যবহার করার জন্য ডেভেলপারদের কাছে Jetpack androidx.credentials লাইব্রেরি হল পছন্দের এন্ডপয়েন্ট।
ছবি ১: পাসওয়ার্ড, পাসকী ও
Google-এর মাধ্যমে সাইন-ইন করুন ফিচার ব্যবহার করে ক্রেডেনশিয়াল সহ অটোফিল ফলাফল।
প্রয়োগ
অটোফিল ফলাফলে ক্রেডেনশিয়াল দেখাতে ক্রেডেনশিয়াল ম্যানেজার ব্যবহার করতে, GetCredentialRequest তৈরি করতে
স্ট্যান্ডার্ড ইমপ্লিমেন্টেশন ব্যবহার করুন এবং তারপর এটি
প্রাসঙ্গিক ভিউতে সেট করুন। রেসপন্স getCredential API কল থেকে আসুক বা PendingGetCredentialRequest থেকে, রেসপন্স হ্যান্ডলিং একই থাকে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
প্রথমে, একটি GetCredentialRequest তৈরি করুন:
// Retrieves the user's saved password for your app.
val getPasswordOption = GetPasswordOption()
// Get a passkey from the user's public key credential provider.
val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = requestJson
)
val getCredRequest = GetCredentialRequest(
listOf(getPasswordOption, getPublicKeyCredentialOption)
)
এরপর, getCredential API কল করুন। এটি ক্রেডেনশিয়াল ম্যানেজার
নির্বাচক দেখায়।
coroutineScope {
try {
val result = credentialManager.getCredential(
context = activityContext, // Use an activity-based context.
request = getCredRequest
)
handleSignIn(result)
} catch (e: GetCredentialException) {
handleFailure(e)
}
}
শেষে, অটোফিল অভিজ্ঞতা চালু করুন। ব্যবহারকারী যখন এইসব ভিউয়ের সাথে ইন্টার্যাক্ট করেন তখন অটোফিলে ক্রেডেনশিয়াল ফলাফল চালু করতে
getCredRequest প্রাসঙ্গিক ভিউতে (যেমন username, password)
সেট করুন।
usernameEditText.pendingGetCredentialRequest = PendingGetCredentialRequest(
getCredRequest
) { response ->
handleSignIn(response)
}
passwordEditText.pendingGetCredentialRequest = PendingGetCredentialRequest(
getCredRequest
) { response ->
handleSignIn(response)
}