Android 15 Beta 2 দিয়ে শুরু করে, androidx.credentials:1.5.0-alpha01 এর সাথে যুক্ত হয়ে, ডেভেলপাররা ব্যবহারকারীর নাম বা পাসওয়ার্ড ক্ষেত্রগুলির মতো নির্দিষ্ট ভিউগুলিকে ক্রেডেনশিয়াল ম্যানেজার অনুরোধের সাথে লিঙ্ক করতে পারে। যখন ব্যবহারকারী এই ভিউগুলির একটিতে ফোকাস করেন, তখন সংশ্লিষ্ট অনুরোধটি ক্রেডেনশিয়াল ম্যানেজারে পাঠানো হয়। ফলস্বরূপ ক্রেডেনশিয়ালগুলি সরবরাহকারীদের মধ্যে একত্রিত করা হয় এবং অটোফিল UI তে প্রদর্শিত হয়, যেমন কীবোর্ড ইনলাইন পরামর্শ, বা ড্রপ-ডাউন পরামর্শ। ব্যবহারকারীরা ভুলবশত ক্রেডেনশিয়াল ম্যানেজার অ্যাকাউন্ট নির্বাচককে বাতিল করে দিলে এবং তারপরে প্রাসঙ্গিক ক্ষেত্রগুলিতে ট্যাপ করলে এই বৈশিষ্ট্যটি ফলব্যাক হিসাবে ব্যবহার করা যেতে পারে।
এই বৈশিষ্ট্যটির জন্য ডেভেলপারদের জন্য Jetpack androidx.credentials লাইব্রেরি হল পছন্দের এন্ডপয়েন্ট।
চিত্র ১: পাসওয়ার্ড, পাসকি এবং সাইন ইন উইথ গুগল ব্যবহার করে শংসাপত্র সহ অটোফিল ফলাফল।
বাস্তবায়ন
অটোফিল ফলাফলে ক্রেডেনশিয়াল দেখানোর জন্য ক্রেডেনশিয়াল ম্যানেজার ব্যবহার করতে, একটি 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 কল করুন। এটি Credential Manager নির্বাচকটি প্রদর্শন করে।
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)
}