تحديد وحلّ الأخطاء الشائعة في "مدير بيانات الاعتماد"

يسرد هذا الدليل رموز الأخطاء الشائعة والأوصاف ذات الصلة بـ "مدير بيانات الاعتماد"، ويقدّم بعض المعلومات حول أسبابها.

رمز الخطأ ووصفه السبب

android.os.TransactionTooLargeException

يرجع ذلك إلى مشكلة معروفة حيث يتعذّر على واجهة برمجة التطبيقات credentialManager.getCredential() على نظام التشغيل Android 14 والإصدارات الأحدث عرض مربّع حوار تسجيل الدخول عند توفّر عدة حسابات Google على الجهاز. تظهر هذه المشكلة تحديدًا مع GetGoogleIdOption وليس مع GetSignInWithGoogleOption. تم إصلاح هذه المشكلة في الإصدار 24.40.XX والإصدارات الأحدث من "خدمات Google Play".

CreateCredentialCancellationException

ألغى المستخدم عملية تسجيل مفتاح المرور أو استرداده.

اختار المستخدم عدم إنشاء بيانات اعتماد أو استخدامها. يمكنك الآن تعديل واجهة المستخدم لتقديم طريقة بديلة لتسجيل الدخول أو الانتقال إلى الخطوات التالية في العملية.

GetCredentialCancellationException

تم إنهاء عملية استرداد بيانات الاعتماد لأنّه لم يتم الحصول على تفويض المستخدم اللازم. على الرغم من أنّ هذا يحدث عادةً عندما يلغي المستخدم عملية تسجيل الدخول يدويًا، يمكن أن يشير أيضًا إلى عدم تفويض الطلب بسبب قيود فنية. بما أنّ هذا الخطأ يشير إلى عدم توفّر الموافقة، لا تعِد محاولة الطلب تلقائيًا، لأنّ ذلك يؤدي إلى تجربة مستخدم غير سلسة. ومع ذلك، على المطوّرين مراقبة معدّل تكرار هذا الاستثناء. قد يشير العدد الكبير من "عمليات الإلغاء" في الواقع إلى إعدادات غير صحيحة، مثل نطاق مفقود أو غير صحيح، ما يمنع اكتمال واجهة مستخدم التفويض بنجاح. إذا لاحظت مؤشرات غير متوقّعة، راجِع مَعلمات الطلب وإعدادات [الجهة المعتمِدة][2].

ملاحظة: يمكن أن تختلف رسالة الخطأ استنادًا إلى نوع بيانات الاعتماد:

  • بالنسبة إلى مفاتيح المرور، يمكن أن تكون رسالة الخطأ "ألغى المستخدم عملية تسجيل مفتاح المرور أو استرداده".
  • بالنسبة إلى ميزة "تسجيل الدخول باستخدام حساب Google"، يمكن أن تكون رسالة الخطأ "ألغى المستخدم النشاط".

CreateCredentialCustomException أو GetCredentialCustomException

عند استخدام حزمة SDK تابعة لجهة خارجية لإجراء طلبات بيانات من واجهة برمجة التطبيقات باستخدام عنصر طلب يندرج ضمن الفئة الفرعية CreateCustomCredentialRequest أو GetCustomCredentialOption، قد تواجه أخطاء. في حال حدوث ذلك، تحقَّق من حزمة تطوير البرامج (SDK) بحثًا عن ثوابت نوع الاستثناء المخصّص التي تتطابق مع e.type. في حال عدم العثور على أي تطابق، من الآمن إما تجاهل الاستثناء أو تسجيله.

CreateCredentialInterruptedException أو GetCredentialInterruptedException

قد تكون العملية قد توقّفت لأنّ المستخدم انتقل إلى الإعدادات لإعادة ضبط إعدادات خدمات إدارة كلمات المرور. قد تكون هناك أسباب أخرى ساهمت أيضًا في حدوث الانقطاع. يُرجى إعادة محاولة الاتصال.

CreateCredentialUnknownException

أثناء حفظ كلمة المرور، تم رصد استجابة خطأ من ميزة "النقرة الواحدة" 16: [28431] تم تخطّي حفظ كلمة المرور لأنّه من المحتمل أن يتم عرض طلب من ميزة "الملء التلقائي" من Android للمستخدم.

لا يؤثّر هذا الخطأ إلا في الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم عندما تكون Google هي المزوّد المحدّد لخدمة "الملء التلقائي". في هذه الحالات، سيتلقّى المستخدمون طلب حفظ من ميزة "الملء التلقائي"، وسيتم تخزين كلمة المرور في "مدير كلمات المرور في Google". من المهم الإشارة إلى أنّ بيانات الاعتماد المحفوظة باستخدام ميزة "الملء التلقائي من Google" تتم مزامنتها في كلا الاتجاهين مع Credential Manager API. لذلك، يمكن تجاهل هذا الخطأ بأمان.

CreatePublicKeyCredentialDomException & GetPublicKeyCredentialDomException

من المحتمل أن يحتوي استثناء DOM على domError أكثر تحديدًا. يمكنك ربطها بـ DomException WebAuthn للحصول على مزيد من التفاصيل.

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.

عند تعذُّر بدء تسجيل الدخول: 8: خطأ داخلي غير معروف.

قد لا يكون الجهاز معدًا بشكل صحيح باستخدام حساب Google. قد تكون هناك مشكلة في طريقة إنشاء ملف JSON لمفتاح المرور. يُرجى التحقّق من دقة عملية التنفيذ.

يتعذّر الحصول على حساب المزامنة

سيوفر الإصدار 24.40.XX والإصدارات الأحدث من "خدمات Google Play" رموز خطأ أكثر إفادةً. على سبيل المثال، بدلاً من رسالة الخطأ "يتعذّر الحصول على حساب المزامنة"، سيتلقّى المتصلون الآن رسالة خطأ بشأن الإلغاء.