استعادة بيانات الاعتماد

تتيح ميزة استعادة بيانات الاعتماد في مدير بيانات الاعتماد للمستخدمين استعادة بيانات حسابات التطبيقات عند إعداد جهاز جديد. واجهة برمجة التطبيقات هذه في معاينة المطور متوفّرة على جميع الأجهزة التي تعمل بنظام التشغيل Android 9 أو الإصدارات الأحدث و"خدمات Google Play" الإصدار الأساسي 242200000 أو إصدار أحدث من (GMS) تشمل مزايا ميزة "استعادة بيانات الاعتماد" ما يلي:

  • سلاسة تجربة المستخدم: يمكن للمستخدمين استعادة حساباتهم على التطبيقات بدون الحاجة إلى تسجيل الدخول يدويًا إلى كل تطبيق على حدة.
  • زيادة تفاعل المستخدمين: من المرجّح أن يواصل المستخدمون استخدام تطبيقك إذا كان بإمكانهم استعادة حساباتهم عند إعداد جهاز جديد.
  • تقليل جهود التطوير: تم دمج ميزة "استعادة بيانات الاعتماد" باستخدام "مدير بيانات الاعتماد"، ما يتيح للمطوّرين الذين يتيحون استخدام مفاتيح المرور إضافة مفاتيح المرور إمكانات استعادة بيانات الاعتماد.

آلية العمل

يمكنك استخدام "استعادة بيانات الاعتماد" لإنشاء الملف ذي الصلة والحصول عليه ومحوه بيانات الاعتماد.

  1. إنشاء بيانات اعتماد الاستعادة: عند تسجيل المستخدم الدخول إلى تطبيقك، أنشئ بيانات اعتماد استعادة مرتبطة بحسابه. يتم تخزين بيانات الاعتماد هذه على الجهاز وتتم مزامنتها مع السحابة الإلكترونية إذا فعّل المستخدم ميزة "الاحتفاظ بنسخة احتياطية" من Google وكان التشفير التام بين الأطراف متاحًا (يمكن للتطبيقات إيقاف المزامنة مع السحابة الإلكترونية).
  2. الحصول على خيار استعادة بيانات الاعتماد: عندما يُعِدّ المستخدم جهازًا جديدًا، يبدأ تطبيقك طلب استعادة بيانات الاعتماد من مدير بيانات الاعتماد. يتيح لك ذلك تسجيل دخول المستخدم تلقائيًا بدون الحاجة إلى إدخال أي معلومات إضافية.
  3. محو بيانات الاعتماد التي تمت استعادتها: عندما يسجّل المستخدم خروجه من التطبيق، يجب إجراء ما يلي: حذف بيانات الاعتماد المرتبطة.

يمكن دمج ميزة "استعادة بيانات الاعتماد" بسلاسة مع أنظمة الخلفية التي سبق أن نفّذت مفاتيح المرور. يرجع هذا التوافق إلى حقيقة أنّه تلتزم كلّ من مفاتيح المرور ومفاتيح الاستعادة (نوع بيانات الاعتماد المستخدَمة في ميزة استعادة بيانات الاعتماد) بالمواصفات الفنية الأساسية نفسها. تضمن هذه المحاذاة إمكانية حدوث عملية استعادة بيانات الاعتماد استرداد بيانات اعتماد المستخدم المخزَّنة في تفعيل مفتاح المرور واستعادتها بشكل فعّال للأنظمة، مما يوفر تجربة متسقة وسهلة الاستخدام عبر مختلف والأنظمة الأساسية وطرق المصادقة.

البطاقة السفلية لمدير بيانات الاعتماد
الشكل 1. مخطّط بياني يوضّح استعادة بيانات تطبيق على جهاز جديد باستخدام بيانات اعتماد الاستعادة، بما في ذلك إنشاء بيانات الاعتماد، وبدء عملية الاستعادة، وتسجيل دخول المستخدم تلقائيًا

التنفيذ

تتوفّر واجهة برمجة التطبيقات Restore Credentials API من خلال حزمة Credential Manager Jetpack. المكتبة. للبدء، اتّبِع الخطوات التالية:

  1. أضِف تبعية "مدير بيانات الاعتماد" إلى مشروعك.

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. أنشئ عنصر CreateRestoreCredentialRequest.

  3. استدعِ الطريقة 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)
    

    إنّ بيانات الاعتماد لاستعادة التي تم إنشاؤها هي نوع من مفاتيح المرور، وتُعرف أيضًا باسم مفتاح استعادة أو مفتاح استرداد.

  4. عندما يُعدّ المستخدم جهازًا جديدًا، استخدِم طريقة 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)
    
  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. يضمن هذا الإجراء استعادة بيانات اعتماد التطبيق. مباشرةً بعد استعادة بيانات التطبيق.