'क्रेडेंशियल सेव' सुविधा की मदद से पासवर्ड सेव करें

वापस आने वाले उपयोगकर्ताओं के लिए, एक टैप करके साइन इन करने की सुविधा चालू करने के लिए, उपयोगकर्ताओं से Google खाते में अपना पासवर्ड सेव करने के लिए कहा जा सकता है. उपयोगकर्ता, आपके ऐप्लिकेशन और वेब पर सेव किए गए पासवर्ड से साइन इन कर पाएगा.

पासवर्ड सेव करने की प्रोसेस शुरू करने पर, उपयोगकर्ता को बॉटमशीट डायलॉग दिखेगा. इसमें, उपयोगकर्ता यह चुन पाएगा कि उसे अपना पासवर्ड सेव करना है या नहीं. साथ ही, वह यह भी चुन पाएगा कि उसे किस Google खाते में पासवर्ड सेव करना है.

पासवर्ड के स्क्रीनशॉट को सेव करना

पासवर्ड सेव करने का बॉटमशीट डायलॉग लॉन्च करें

आपको उपयोगकर्ता नाम और पासवर्ड की पुष्टि करने के बाद, पासवर्ड सेव करने वाला डायलॉग बॉक्स लॉन्च करना चाहिए. पुष्टि करने के दौरान, क्रेडेंशियल को मेमोरी में सेव रखें. क्रेडेंशियल के मान्य होने की पुष्टि करने के बाद, सेव करने का डायलॉग लॉन्च करें. इसके लिए, यह तरीका अपनाएं:

  1. नया SignInPassword ऑब्जेक्ट बनाएं. इसे उस उपयोगकर्ता आईडी से शुरू किया जाना चाहिए जिसका इस्तेमाल उपयोगकर्ता आपकी सेवा के लिए करता है. उदाहरण के लिए, उसका उपयोगकर्ता नाम या ईमेल पता. साथ ही, उस पासवर्ड से शुरू किया जाना चाहिए जिसे आपको सेव करना है.

    private static final int REQUEST_CODE_GIS_SAVE_PASSWORD = 2; /* unique request id */
    private void savePassword() {
        SignInPassword signInPassword = new SignInPassword(userId, password);
        ...
    
  2. SavePasswordRequest ऑब्जेक्ट बनाना

    SavePasswordRequest savePasswordRequest =
        SavePasswordRequest.builder().setSignInPassword(signInPassword).build();
    
  3. Identity.getCredentialSavingClient से PendingIntent पाएं, ताकि पासवर्ड सेव करने का डायलॉग बॉक्स दिखाया जा सके. इसके बाद, फ़्लो लॉन्च करें:

    Identity.getCredentialSavingClient(activity)
       .savePassword(savePasswordRequest)
       .addOnSuccessListener(
           result -> {
               startIntentSenderForResult(
                   result.getPendingIntent().getIntentSender(),
                   REQUEST_CODE_GIS_SAVE_PASSWORD,
                   /* fillInIntent= */ null,
                   /* flagsMask= */ 0,
                   /* flagsValue= */ 0,
                   /* extraFlags= */ 0,
                   /* options= */ null);
           })
    

पासवर्ड सेव करने के नतीजों को मैनेज करना

onActivityResult में, पासवर्ड सेव करने की प्रोसेस के नतीजे को मैनेज करें:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_GIS_SAVE_PASSWORD) {
        if (resultCode == Activity.RESULT_OK) {
            /* password was saved */
        } else if (resultCode == Activity.RESULT_CANCELED) {
            /* password saving was cancelled */
        }
    }
}
private ActivityResultLauncher<IntentSenderRequest> savePasswordHandler =
    registerForActivityResult(new ActivityResultContracts.StartIntentSenderForResult(), result -> {
        // handle intent result here
    });