إذا كان تسجيل الدخول عبر One Tap يلبي احتياجاتك ، ففكر في استخدامه بدلاً من ذلك. يتمتع One Tap بتجربة مستخدم محدثة وتحسينات أخرى.

مسار دمج Android

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

لدمج Smart Lock لكلمات المرور في تطبيقك المتوافق مع Android، يجب إضافة الطلبات إلى Credentials API في بدء تشغيل التطبيق وتسجيل الدخول. يوضّح المخطّط التالي مسار تطبيق Android عادي يستخدم ميزة Smart Lock لكلمات المرور.

على الرغم من توفّر طرق عديدة لدمج Smart Lock لكلمات المرور بنجاح، وتعتمد تفاصيل عملية الدمج على بنية التطبيق وتجربة المستخدم له، إلا أننا ننصح باتّباع الخطوات التالية في معظم التطبيقات. وتحصل التطبيقات التي تستخدم هذه العملية على مزايا تجربة المستخدم التالية:

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

مخطط خطوات تسجيل الدخول إلى Smart Lock

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

  1. عند بدء تشغيل التطبيق، اتصل بالرقم CredentialsClient.request() إذا لم يسبق لأي مستخدم تسجيل الدخول.
  2. في حال نجاح Task، يمكنك الحصول على بيانات اعتماد المستخدم باستخدام getResult().getCredential() واستخدامها لتسجيل الدخول.
  3. إذا تعذّر Task وكان الاستثناء هو ResolvableApiException وتعرض getStatusCode() RESOLUTION_REQUIRED، يجب إدخال بيانات المستخدم من أجل اختيار بيانات الاعتماد. اطلب من startResolutionForResult() مطالبة المستخدم باختيار حساب محفوظ، ثم الاتصال بـ getParcelableExtra(Credential.EXTRA_KEY) للحصول على بيانات اعتماد المستخدم واستخدامها لتسجيل الدخول.

حفظ بيانات الاعتماد

  1. إذا لم تنجح عملية Task في عرض السمة ApiException وعرض getStatusCode() رسالة SIGN_IN_REQUIRED، لن تكون بيانات الاعتماد محفوظة للمستخدم، وسيكون عليه تسجيل الدخول أو الاشتراك يدويًا باستخدام خطوات تسجيل الدخول أو الاشتراك الحالية. بعد أن يكمل المستخدم تسجيل الدخول بنجاح، يمكنك توفير فرصة للمستخدم لحفظ بيانات اعتماده لاستردادها في المستقبل (الخطوة 5).

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

    1. يمكنك الاتصال بالرقم CredentialsClient.getHintPickerIntent() وبدء الهدف من الطلب من المستخدم اختيار حساب، ثم الاتصال بالرقم getParcelableExtra(Credential.EXTRA_KEY) للحصول على تلميح تسجيل الدخول.
    2. إذا كان رقم تعريف المستخدم للتلميح يتطابق مع مستخدم حالي، عليك ملء نموذج تسجيل الدخول به مسبقًا والسماح للمستخدم بإدخال كلمة المرور لتسجيل الدخول.
    3. إذا كان رقم تعريف المستخدم للتلميح لا يتطابق مع مستخدم حالي، يُرجى ملء نموذج الاشتراك مسبقًا برقم تعريف المستخدم واسمه والسماح للمستخدم بإنشاء حساب جديد.
  2. بعد أن يسجِّل المستخدم دخوله بنجاح أو ينشئ حسابًا، يمكنك حفظ رقم تعريف المستخدم وكلمة المرور باستخدام CredentialsClient.save().

    إذا سجَّل المستخدم الدخول من خلال موفّر هوية موحّد مثل تسجيل الدخول بحساب Google، أنشِئ العنصر Credential باستخدام عنوان البريد الإلكتروني للمستخدم على أنه المعرّف وحدِّد موفّر الهوية باستخدام setAccountType.

تسجيل الخروج

  1. وعند خروج المستخدم، اتّصِل على الرقم CredentialsClient.disableAutoSignIn() لمنع المستخدم من تسجيل الدخول مرة أخرى على الفور. يؤدي إيقاف تسجيل الدخول التلقائي أيضًا إلى السماح للمستخدمين بالتبديل بين الحسابات بسهولة، على سبيل المثال، بين حسابات العمل والحسابات الشخصية أو بين الحسابات على الأجهزة المشتركة بدون الحاجة إلى إعادة إدخال معلومات تسجيل الدخول.

هل أنت مستعد لدمج Smart Lock لكلمات المرور في تطبيقك؟ بدء الاستخدام.