تتيح ميزة استعادة بيانات الاعتماد في "مدير بيانات الاعتماد" للمستخدمين استعادة حسابات التطبيقات عند إعداد جهاز جديد. تتوفّر واجهة برمجة التطبيقات هذه في إصدار للمعاينة من قِبل المطوّرين وعلى جميع الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android أو الإصدارات الأحدث والإصدار 242200000 أو الإصدارات الأحدث من "خدمات Google Play" (GMS). تشمل مزايا ميزة "استعادة بيانات الاعتماد" ما يلي:
- سلاسة تجربة المستخدم: يمكن للمستخدمين استعادة حساباتهم على التطبيقات بدون الحاجة إلى تسجيل الدخول يدويًا إلى كل تطبيق على حدة.
- زيادة تفاعل المستخدمين: من المرجّح أن يواصل المستخدمون استخدام تطبيقك إذا كان بإمكانهم استعادة حساباتهم عند إعداد جهاز جديد.
- تقليل الجهد المبذول في التطوير: تم دمج ميزة "استعادة بيانات الاعتماد" مع "مدير بيانات الاعتماد"، لذا يمكن للمطوّرين الذين يتيحون حاليًا مفاتيح المرور إضافة إمكانات استعادة بيانات الاعتماد.
آلية العمل
يمكنك استخدام ميزة "استعادة بيانات الاعتماد" لإنشاء بيانات الاعتماد ذات الصلة والحصول عليها ومحوها.
- إنشاء بيانات اعتماد الاستعادة: عند تسجيل المستخدم الدخول إلى تطبيقك، أنشئ بيانات اعتماد استعادة مرتبطة بحسابه. يتم تخزين بيانات الاعتماد هذه على الجهاز وتتم مزامنتها مع السحابة الإلكترونية إذا فعّل المستخدم ميزة "الاحتفاظ بنسخة احتياطية" من Google وكان التشفير التام بين الأطراف متاحًا (يمكن للتطبيقات إيقاف المزامنة مع السحابة الإلكترونية).
- الحصول على بيانات اعتماد الاستعادة: عندما يُعدّ المستخدم جهازًا جديدًا، يمكن لتطبيقك طلب بيانات اعتماد الاستعادة من "مدير بيانات الاعتماد". يتيح لك ذلك تسجيل دخول المستخدم تلقائيًا بدون الحاجة إلى إدخال أي معلومات إضافية.
- محو بيانات اعتماد الاستعادة: عندما يسجّل المستخدم الخروج من تطبيقك، يجب حذف بيانات اعتماد الاستعادة المرتبطة.
يمكن دمج ميزة "استعادة بيانات الاعتماد" بسلاسة مع أنظمة الخلفية التي سبق أن نفّذت مفاتيح المرور. يرجع هذا التوافق إلى حقيقة أنّه تلتزم كلّ من مفاتيح المرور ومفاتيح الاستعادة (نوع بيانات الاعتماد المستخدَمة في ميزة "استعادة بيانات الاعتماد") بالمواصفات الفنية الأساسية نفسها. يضمن هذا التوافق أن تتمكّن عملية "استعادة بيانات الاعتماد" من استرجاع بيانات اعتماد المستخدم المخزّنة في الأنظمة المزوّدة بمفاتيح المرور واستعادتها بفعالية، ما يقدّم تجربة متّسقة وسهلة الاستخدام على مختلف منصّات المصادقة.
التنفيذ
تتوفّر واجهة برمجة التطبيقات Restore Credentials API من خلال مكتبة Credential Manager في Jetpack. للبدء، اتّبِع الخطوات التالية:
أضِف تبعية "مدير بيانات الاعتماد" إلى مشروعك.
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
أنشئ عنصرًا من النوع
CreateRestoreCredentialRequest
.استدِع طريقة
createCredential()
في الكائنCredentialManager
.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)
إنّ بيانات الاعتماد لاستعادة التي تم إنشاؤها هي نوع من بيانات اعتماد webauthn، ويُعرف باسم مفتاح الاستعادة.
عندما يُعدّ المستخدم جهازًا جديدًا، استخدِم طريقة
getCredential()
في العنصرCredentialManager
.// 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)
عندما يسجّل المستخدم الخروج من تطبيقك، استخدِم الطريقة
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
. يضمن ذلك استعادة بيانات اعتماد التطبيق
فور استعادة بيانات التطبيق.