क्रेडेंशियल वापस लाना

क्रेडेंशियल मैनेजर की क्रेडेंशियल वापस लाएं सुविधा की मदद से, उपयोगकर्ता अपनी ऐप्लिकेशन खाते सेट अप करते समय करें. यह एपीआई, डेवलपर के लिए झलक के तौर पर उपलब्ध है. यह उन सभी डिवाइसों पर काम करता है जिनमें Android 9 या इसके बाद का वर्शन और Google Play services (GMS) का कोर वर्शन 242200000 या इसके बाद का वर्शन मौजूद हो. क्रेडेंशियल वापस लाने की सुविधा के ये फ़ायदे हैं:

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

यह कैसे काम करता है

क्रेडेंशियल को वापस पाने के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल का इस्तेमाल, अपने काम के क्रेडेंशियल बनाने, पाने, और उन्हें हटाने के लिए किया जा सकता है क्रेडेंशियल डालें.

  1. खाता वापस पाने के लिए क्रेडेंशियल बनाएं: जब उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करता है, तो उसके खाते से जुड़ा खाता वापस पाने के लिए क्रेडेंशियल बनाएं. यह क्रेडेंशियल, डिवाइस में सेव किया जाता है और अगर उपयोगकर्ता ने Google Backup की सुविधा चालू की है और एंड-टू-एंड एन्क्रिप्शन की सुविधा उपलब्ध है, तो इसे क्लाउड से सिंक किया जाता है. ऐप्लिकेशन, क्लाउड से सिंक करने की सुविधा से ऑप्ट आउट कर सकते हैं
  2. क्रेडेंशियल मैनेजर से क्रेडेंशियल वापस पाने का अनुरोध करना: जब उपयोगकर्ता कोई नया डिवाइस सेट अप करता है, तो आपका ऐप्लिकेशन क्रेडेंशियल मैनेजर से क्रेडेंशियल वापस पाने का अनुरोध कर सकता है. इससे, उपयोगकर्ता को बिना किसी अतिरिक्त इनपुट के अपने-आप साइन इन किया जा सकता है.
  3. 'डेटा वापस लाने के लिए क्रेडेंशियल' मिटाना: जब कोई उपयोगकर्ता आपके ऐप्लिकेशन से साइन आउट करता है, तो आपको उससे जुड़े 'डेटा वापस लाने के लिए क्रेडेंशियल' मिटा देना चाहिए.

क्रेडेंशियल वापस लाने की सुविधा, बैकएंड सिस्टम के साथ आसानी से इंटिग्रेट हो सकती है. हालांकि, इसके लिए ज़रूरी है कि बैकएंड सिस्टम में पहले से पासकी लागू हों. इस बात की वजह है कि वीडियो इस सीरीज़ के साथ काम करता है या नहीं को सुरक्षित रखने के लिए, पासकी और रिस्टोर कुंजियों, दोनों को क्रेडेंशियल पहले जैसा करने की सुविधा) डिफ़ॉल्ट रूप से लागू की गई तकनीकी शर्तों के मुताबिक होती है के बारे में खास जानकारी पाएं. इस अलाइनमेंट से यह पक्का होता है कि क्रेडेंशियल को वापस लाने की प्रोसेस पासकी की सुविधा वाले पेज पर सेव किए गए उपयोगकर्ता क्रेडेंशियल को आसानी से वापस पाया जा सकता है और उन्हें वापस लाया जा सकता है अलग-अलग प्लैटफ़ॉर्म पर एक जैसा और उपयोगकर्ता-फ़्रेंडली अनुभव देते हैं. प्लैटफ़ॉर्म और पुष्टि करने के तरीकों के बारे में ज़्यादा जानें.

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

लागू करना

क्रेडेंशियल वापस लाने वाला एपीआई, क्रेडेंशियल मैनेजर Jetpack लाइब्रेरी के ज़रिए उपलब्ध है. शुरू करने के लिए यह तरीका अपनाएं:

  1. अपने प्रोजेक्ट में Credential Manager डिपेंडेंसी जोड़ें.

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. CreateRestoreCredentialRequest ऑब्जेक्ट बनाएं.

  3. CredentialManager ऑब्जेक्ट पर, createCredential() तरीके को कॉल करें.

    val credentialManager = CredentialManager.create(context)
    
    // On a successful authentication create a Restore Key
    // Pass in the context and CreateRestoreCredentialRequest object
    val response = credentialManager.createCredential(context, createRestoreRequest)
    

    जनरेट किया गया खाता वापस पाने के लिए क्रेडेंशियल, एक तरह की पासकी होती है. इसे खाता वापस पाने के लिए पासकी या खाता वापस पाने के लिए कुंजी भी कहा जाता है.

  4. जब उपयोगकर्ता कोई नया डिवाइस सेट अप करता है, तो CredentialManager ऑब्जेक्ट पर getCredential() मैथड को कॉल करें.

    // Fetch the Authentication JSON from server
    val authenticationJson = ...
    
    // Create the GetRestoreCredentialRequest object
    val options = GetRestoreCredentialOption(authenticationJson)
    val getRequest = GetCredentialRequest(Immutablelist.of(options))
    
    // The restore key can be fetched in two scenarios to
    // 1. On the first launch of app on the device, fetch the Restore Key
    // 2. In the onRestore callback (if the app implements the Backup Agent)
    val response = credentialManager.getCredential(context, getRequest)
    
  5. जब उपयोगकर्ता आपके ऐप्लिकेशन से साइन आउट हो जाता है, तब clearCredentialState() पर कॉल करें CredentialManager ऑब्जेक्ट पर दिया गया तरीका है.

    // Create a ClearCredentialStateRequest object
    val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL)
    
    // On user log-out, clear the restore key
    val response = credentialManager.clearCredentialState(clearRequest)
    

अगर आप बैकअप एजेंट का इस्तेमाल कर रहे हैं, तोgetCredential onRestore कॉलबैक. इससे यह पक्का होता है कि ऐप्लिकेशन का डेटा वापस लाने के तुरंत बाद, ऐप्लिकेशन के क्रेडेंशियल भी वापस आ जाएं.