क्रेडेंशियल मैनेजर से जुड़ी सामान्य गड़बड़ियों को हल करना

इस गाइड में, क्रेडेंशियल मैनेजर से जुड़े सामान्य गड़बड़ी कोड और उनके ब्यौरे दिए गए हैं. साथ ही, इनमें गड़बड़ियों की वजहों के बारे में कुछ जानकारी दी गई है.

गड़बड़ी का कोड और ब्यौरा वजह

android.os.TransactionTooLargeException

ऐसा ज्ञात समस्या की वजह से होता है. इस समस्या में, Android 14 और इसके बाद के वर्शन पर मौजूद credentialManager.getCredential() API, डिवाइस पर एक से ज़्यादा Google खाते मौजूद होने पर साइन-इन डायलॉग नहीं दिखाता है. यह समस्या खास तौर पर GetGoogleIdOption में दिखती है, GetSignInWithGoogleOption में नहीं. इस समस्या को Google Play services के 24.40.XX और इसके बाद के वर्शन में ठीक कर दिया गया है.

CreateCredentialCancellationException

उपयोगकर्ता ने पासकी रजिस्टर करने या उसे वापस पाने की प्रोसेस रद्द कर दी है.

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

GetCredentialCancellationException

क्रेडेंशियल वापस पाने की प्रोसेस को बंद कर दिया गया है, क्योंकि उपयोगकर्ता की ज़रूरी अनुमति नहीं मिली है. आम तौर पर, ऐसा तब होता है, जब कोई उपयोगकर्ता मैन्युअल तरीके से साइन-इन करने की प्रोसेस को रद्द कर देता है. हालांकि, इससे यह भी पता चल सकता है कि तकनीकी समस्याओं की वजह से, अनुरोध को अनुमति नहीं दी गई थी. इस गड़बड़ी से पता चलता है कि सहमति नहीं ली गई है. इसलिए, अनुरोध को अपने-आप फिर से न भेजें. इससे उपयोगकर्ता को खराब अनुभव मिलता है. हालांकि, डेवलपर को इस अपवाद की फ़्रीक्वेंसी पर नज़र रखनी चाहिए. "रद्द किए गए" अनुरोधों की ज़्यादा संख्या से, गलत कॉन्फ़िगरेशन का पता चल सकता है. जैसे, स्कोप मौजूद नहीं है या गलत है. इससे, अनुमति देने वाला यूज़र इंटरफ़ेस (यूआई) पूरा नहीं हो पाता. अगर आपको अनचाहे रुझान दिखते हैं, तो अनुरोध के पैरामीटर और [relying party][2] के कॉन्फ़िगरेशन की समीक्षा करें.

ध्यान दें: क्रेडेंशियल के टाइप के आधार पर, गड़बड़ी का मैसेज अलग-अलग हो सकता है:

  • पासकी के लिए, गड़बड़ी का मैसेज "उपयोगकर्ता ने पासकी का रजिस्ट्रेशन या उसे वापस पाने की प्रोसेस रद्द कर दी है" हो सकता है.
  • "Google से साइन इन करें" सुविधा के लिए, गड़बड़ी का मैसेज "उपयोगकर्ता ने गतिविधि रद्द कर दी है" हो सकता है.

CreateCredentialCustomException या GetCredentialCustomException

अगर तीसरे पक्ष के एसडीके का इस्तेमाल करके, CreateCustomCredentialRequest या GetCustomCredentialOption के सबक्लास वाले अनुरोध ऑब्जेक्ट के साथ एपीआई कॉल किए जाते हैं, तो आपको गड़बड़ियां दिख सकती हैं. ऐसा होने पर, कस्टम अपवाद टाइप के उन कॉन्स्टेंट के लिए एसडीके की जांच करें जो e.type से मेल खाते हैं. अगर कोई मैच नहीं मिलता है, तो अपवाद को छोड़ना या लॉग करना सुरक्षित होता है.

CreateCredentialInterruptedException या GetCredentialInterruptedException

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

CreateCredentialUnknownException

पासवर्ड सेव करते समय, एक टैप से पासवर्ड सेव करने की सुविधा से जवाब नहीं मिला 16: [28431] पासवर्ड सेव करने की प्रोसेस को स्किप किया जा रहा है, क्योंकि उपयोगकर्ता को Android की ऑटोमैटिक भरने की सुविधा का प्रॉम्प्ट दिख रहा है.

इस गड़बड़ी का असर सिर्फ़ Android 13 और इससे पहले के वर्शन पर पड़ता है. ऐसा तब होता है, जब Google को ऑटिफ़िल की सुविधा देने वाली कंपनी के तौर पर चुना गया हो. ऐसे मामलों में, उपयोगकर्ताओं को जानकारी ऑटोमैटिक भरने की सुविधा से पासवर्ड सेव करने का प्रॉम्प्ट मिलेगा. साथ ही, पासवर्ड Google Password Manager में सेव हो जाएगा. अहम बात यह है कि 'Google की मदद से जानकारी अपने-आप भरने की सुविधा' का इस्तेमाल करके सेव किए गए क्रेडेंशियल, क्रेडेंशियल मैनेजर एपीआई के साथ दोनों दिशाओं में सिंक होते हैं. इसलिए, इस गड़बड़ी को अनदेखा किया जा सकता है.

CreatePublicKeyCredentialDomException & GetPublicKeyCredentialDomException

ऐसा हो सकता है कि DOM एक्सेप्शन में ज़्यादा सटीक domError मौजूद हो. ज़्यादा जानकारी के लिए, इसे WebAuthn DomException पर मैप किया जा सकता है.

CreatePublicKeyCredentialDomException & GetPublicKeyCredentialDomException

आने वाले अनुरोध की पुष्टि नहीं की जा सकती.

पासवर्ड मैनेजर का सर्वर, ऐप्लिकेशन के पैकेज आईडी को नहीं पहचानता. इससे पता चलता है कि आपके सर्वर-साइड इंटिग्रेशन में कोई समस्या हो सकती है. खास तौर पर, डिजिटल ऐसेट लिंक सेटअप में. अपनी ऐसेट लिंक फ़ाइल में पैकेज आईडी और SHA की पुष्टि करें.

CreatePublicKeyCredentialDomException:

रजिस्ट्रेशन के दौरान कुंजी नहीं बनाई जा सकती

यह समस्या तब हो सकती है, जब कोई उपयोगकर्ता रजिस्ट्रेशन के दौरान स्क्रीन लॉक करने के डायलॉग बॉक्स को खारिज कर देता है.

CreateCredentialNoCreateOptionException

इस खास अपवाद से पता चलता है कि उपयोगकर्ता ने कोई मान्य पासवर्ड मैनेजर कॉन्फ़िगर नहीं किया है. यह गड़बड़ी, उपयोगकर्ता के अनुरोध पर मैन्युअल तरीके से रद्द किए गए फ़्लो की वजह से नहीं हुई है. यह एक अलग गड़बड़ी है.

CreatePublicKeyDomException & GetPublicKeyCredentialDomException

उपयोगकर्ता ने पासकी का रजिस्ट्रेशन रद्द कर दिया.

उपयोगकर्ता ने पासकी फिर से पाने की प्रोसेस रद्द कर दी.

यह समस्या तब हो सकती है, जब कोई उपयोगकर्ता पासकी रजिस्टर करते समय या उसे वापस पाते समय, फ़िंगरप्रिंट वाले डायलॉग को खारिज कर देता है.

GetCredentialProviderConfigurationException & CreateCredentialProviderConfigurationException

getCredentialAsync को कोई भी प्रोवाइडर डिपेंडेंसी नहीं मिली

createCredentialAsync को किसी भी प्रोवाइडर पर निर्भर नहीं रहना पड़ता

androidx.credentials:credentials-play-services-auth:<latest-version> डिपेंडेंसी मौजूद नहीं है.

GetCredentialUnsupportedException या CreateCredentialUnsupportedException

आपके डिवाइस पर क्रेडेंशियल मैनेजर काम नहीं करता

पक्का करें कि क्रेडेंशियल लाइब्रेरी को 1.2.1 या इसके बाद के वर्शन पर अपडेट किया गया हो.

GetPublicKeyCredentialException

क्रेडेंशियल को डिक्रिप्ट नहीं किया जा सका

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

NoCreateOptionException

अगर किसी उपयोगकर्ता ने अपने डिवाइस पर कोई पासकी क्रेडेंशियल सेट अप नहीं किया है या उसके पास पासवर्ड मैनेजर कॉन्फ़िगर नहीं है, तो यह अपवाद सामान्य है.

NoCredentialException

मिलता-जुलता कोई क्रेडेंशियल नहीं मिला

यह अपवाद इन स्थितियों में होता है:

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

एन्क्रिप्ट (सुरक्षित) किए गए डेटा के लॉक होने की वजह से, पासकी नहीं बनाई जा सकती

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

  1. chrome.google.com/sync पर जाएं.
  2. सबसे नीचे, डेटा मिटाएं को चुनें.
  3. डिवाइस पर, Chrome में डेटा सिंक करने की सुविधा चालू करें.

On Begin Sign In Failure: 8: Unknown internal error.

ऐसा हो सकता है कि डिवाइस को Google खाते से सही तरीके से सेट अप न किया गया हो. ऐसा हो सकता है कि पासकी JSON बनाने के तरीके में कोई समस्या हो. लागू करने की प्रोसेस की दोबारा जांच करें, ताकि यह पक्का किया जा सके कि वह सटीक है.

सिंक किए गए खाते की जानकारी नहीं मिल पा रही है

Google Play services के 24.40.XX और इसके बाद के वर्शन में, गड़बड़ी के बारे में ज़्यादा जानकारी देने वाले कोड मिलेंगे. उदाहरण के लिए, "सिंक खाता नहीं मिल सका" के बजाय, अब कॉल करने वालों को सदस्यता रद्द करने से जुड़ी गड़बड़ी का मैसेज मिलेगा.