Android 15 के बीटा 2 वर्शन के साथ androidx.credentials:1.5.0-alpha01 का इस्तेमाल करके, डेवलपर उपयोगकर्ता नाम या पासवर्ड फ़ील्ड जैसे खास व्यू को क्रेडेंशियल मैनेजर के अनुरोधों से लिंक कर सकते हैं. जब उपयोगकर्ता इनमें से किसी एक व्यू पर फ़ोकस करता है. इससे जुड़ा अनुरोध क्रेडेंशियल को भेजा जाता है मैनेजर. नतीजे देने वाले क्रेडेंशियल, सेवा देने वाली सभी कंपनियों के बीच इकट्ठा किए जाते हैं और दिखाए जाते हैं अपने-आप भरने वाले यूज़र इंटरफ़ेस (यूआई) में, जैसे कि कीबोर्ड इनलाइन सुझाव या ड्रॉप-डाउन सुझाव. इस सुविधा का इस्तेमाल, फ़ॉलबैक के तौर पर किया जा सकता है. ऐसा तब होता है, जब उपयोगकर्ता गलती से क्रेडेंशियल मैनेजर खाता चुनने वाले टूल को खारिज कर देते हैं और फिर काम के फ़ील्ड पर टैप करते हैं.
डेवलपर के लिए, इस सुविधा का इस्तेमाल करने के लिए Jetpack androidx.credentials लाइब्रेरी का इस्तेमाल करना सबसे बेहतर होता है.
पहली इमेज: पासवर्ड, पासकी, और 'Google से साइन इन करें' सुविधा का इस्तेमाल करके, क्रेडेंशियल के साथ ऑटोमैटिक भरने की सुविधा के नतीजे.
लागू करना
ऑटोमैटिक भरने की सुविधा के नतीजों में क्रेडेंशियल दिखाने के लिए, क्रेडेंशियल मैनेजर का इस्तेमाल करें. इसके लिए, GetCredentialRequest
बनाने के लिए स्टैंडर्ड तरीके का इस्तेमाल करें. इसके बाद, इसे काम के व्यू पर सेट करें. रिस्पॉन्स मैनेज करने का तरीका एक ही होता है, फिर चाहे रिस्पॉन्स getCredential
एपीआई कॉल से मिले हो या 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) )
// Retrieves the user's saved password for your app. GetPasswordOption getPasswordOption = new GetPasswordOption(); // Get a passkey from the user's public key credential provider. GetPublicKeyCredentialOption getPublicKeyCredentialOption = new GetPublicKeyCredentialOption(requestJson); GetCredentialRequest getCredRequest = new GetCredentialRequest( Arrays.asList(getPasswordOption, getPublicKeyCredentialOption) );
इसके बाद, getCredential
एपीआई को कॉल करें. इससे क्रेडेंशियल मैनेजर सिलेक्टर दिखता है.
coroutineScope.launch { try { val result = credentialManager.getCredential( context = activityContext, // Use an activity-based context. request = getCredRequest ) handleSignIn(result); } catch (GetCredentialException e) { handleFailure(e); } }
coroutineScope.launch(new CoroutineScopeRunnable() { @Override public void run(@NonNull CoroutineScope scope) { try { GetCredentialResponse result = credentialManager.getCredential( activityContext, // Use an activity-based context. getCredRequest ); handleSignIn(result); } catch (GetCredentialException e) { handleFailure(e); } } });
आखिर में, ऑटोमैटिक भरने की सुविधा चालू करें. getCredRequest
को 'काम का है' पर सेट करें
व्यू (जैसे कि username, password
) की मदद से, ऑटोमैटिक भरने की सुविधा में क्रेडेंशियल की सुविधा चालू की जा सकती है
जब उपयोगकर्ता इन व्यू के साथ इंटरैक्ट करता है.
import androidx.credentials.PendingGetCredentialRequest usernameEditText.pendingGetCredentialRequest = PendingGetCredentialRequest( getCredRequest) { response -> handleSignIn(response) } passwordEditText.pendingGetCredentialRequest = PendingGetCredentialRequest( getCredRequest) { response -> handleSignIn(response) }
import androidx.credentials.CredentialManagerViewHandler; import androidx.credentials.PendingGetCredentialRequest; CredentialManagerViewHandler.setPendingGetCredentialRequest( usernameEditText, new PendingGetCredentialRequest( getCredRequest, result -> { handleSignIn(result); return null; } ) CredentialManagerViewHandler.setPendingGetCredentialRequest( passwordEditText, new PendingGetCredentialRequest( getCredRequest, result -> { handleSignIn(result); return null; } )