دراسات الحالة
كيف تقلّل Uber عمليات تسجيل الدخول اليدوية بمقدار 4 ملايين عملية سنويًا باستخدام Restore Credentials API؟
قراءة لمدة 5 دقائق
Uber هي أكبر شركة لخدمات مشاركة الرحلات في العالم، وتساعد الملايين من الأشخاص في التنقّل من مكان إلى آخر، كما تقدّم خدمات توصيل الطعام والنقل الطبي والخدمات اللوجستية للشحن. تُعد سهولة الوصول إلى الحساب أمرًا بالغ الأهمية لنجاح هذه الميزة، فعندما ينتقل المستخدمون إلى جهاز جديد، يتوقّعون انتقالًا سلسًا بدون الحاجة إلى تسجيل الدخول مرة أخرى إلى تطبيق Uber أو إكمال عملية المصادقة باستخدام كلمة مرور صالحة لمرة واحدة تستند إلى الرسائل القصيرة. يشكّل هذا التغيير المتكرّر للأجهزة تحديًا، كما يوفّر فرصة للاحتفاظ بالمستخدمين بشكل فعّال.
للحفاظ على استمرارية المستخدمين، لجأ مهندسو Uber إلى ميزة استعادة بيانات الاعتماد، وهي أداة أساسية في وقت يستبدل فيه% 40 من الأشخاص في الولايات المتحدة هواتفهم الذكية كل عام. بعد تقييم طلب المستخدمين وإنشاء نماذج أولية للرموز، أتاحت الشركة ميزة "استعادة بيانات الاعتماد" في تطبيق Uber للركاب. وللتأكّد من أنّ استعادة بيانات الاعتماد تساعد في تسهيل عمليات إعادة تسجيل الدخول، أجرى فريق Uber تجربة ناجحة بتقسيم المستخدمين إلى مجموعتَين (أ/ب) لمدة خمسة أسابيع. أدّى الدمج إلى انخفاض عمليات تسجيل الدخول اليدوية التي يُقدّر أنّها ستلغي 4 ملايين عملية تسجيل دخول يدوية سنويًا عند تطبيقها على قاعدة مستخدمي Uber الضخمة.
تسهيل عملية تسجيل الدخول باستخدام ميزة "استعادة بيانات الاعتماد"
في السابق، كانت هناك محاولات لاستعادة الحساب على الأجهزة الجديدة باستخدام حلول مثل النسخ الاحتياطي المنتظم للبيانات وBlockStore، على الرغم من أنّ كلا الحلّين كانا يتطلّبان مشاركة رموز المصادقة المميزة مباشرةً من الجهاز المصدر إلى الجهاز الوجهة. بما أنّ معلومات الرموز المميّزة حساسة للغاية، لا يتم استخدام هذه الحلول إلا إلى حدّ ما، وذلك لتعبئة حقول تسجيل الدخول مسبقًا على الجهاز الوجهة وتقليل بعض المشاكل أثناء عمليات تسجيل الدخول. تُستخدَم مفاتيح المرور أيضًا لتوفير طريقة آمنة وسريعة لتسجيل الدخول، ولكن طبيعتها التي تتطلّب إجراءً من المستخدم تحدّ من تأثيرها في عمليات الانتقال السلس بين الأجهزة.
يقول "توماس أوليفيرا هورتا"، وهو مهندس Android في Uber: "لا يستخدم بعض المستخدمين تطبيق Uber بشكل يومي، ولكنّهم يتوقّعون أن يعمل التطبيق بشكل سليم عندما يحتاجون إليه". "قد تكون تجربة تسجيل الخروج من التطبيق عند فتحه لطلب رحلة على هاتف Android الجديد تجربة غير سارّة ومزعجة".
باستخدام ميزة استعادة بيانات الاعتماد، تمكّن المهندسون من حلّ هذه المشكلة. تنشئ واجهة برمجة التطبيقات رمزًا مميزًا فريدًا على الجهاز القديم، ويتم نقله بسلاسة وبشكل غير ملحوظ إلى الجهاز الجديد عندما يستعيد المستخدم بيانات التطبيق أثناء عملية الإعداد العادية. تستفيد هذه العملية من آلية النسخ الاحتياطي والاستعادة الأصلية لنظام التشغيل Android، ما يضمن نقل مفتاح الاستعادة بأمان مع بيانات التطبيق. يضمن هذا النهج المبسّط نقل الحساب بطريقة سهلة وآمنة، واستيفاء متطلبات الأمان في Uber بدون أي بيانات أدخلها المستخدم أو تكاليف تطوير إضافية.
ملاحظة: تستخدم مفاتيح الاسترداد وعبارات المرور تنفيذ الخادم الأساسي نفسه. ومع ذلك، عند حفظها في قاعدة البيانات، يجب التمييز بينها. هذا التمييز مهم لأنّه يمكن للمستخدم إدارة مفاتيح المرور التي ينشئها مباشرةً، بينما تتم إدارة مفاتيح الاسترداد من خلال النظام وتكون مخفية عن واجهة المستخدم.
يقول توماس: "بعد اعتماد ميزة "استعادة بيانات الاعتماد" في تطبيق Uber للركاب، بدأنا نشهد استخدامًا متكررًا لها". "في مرحلة الطرح الحالية، سجّل 10,000 مستخدم فريد في اليوم الدخول باستخدام ميزة "استعادة بيانات الاعتماد" في المتوسط، واستمتعوا بتجربة سلسة عند فتح التطبيق لأول مرة على جهاز جديد. ونتوقّع أن يتضاعف هذا العدد بعد أن نوسّع نطاق طرح الميزة ليشمل قاعدة المستخدمين بأكملها".
اعتبارات التنفيذ
يقول توماس: "كانت عملية الدمج سهلة جدًا مع إجراء تعديلات بسيطة على نظام التشغيل Android من خلال اتّباع الرمز النموذجي والمستندات". كان تطبيقنا يستخدم Credential Manager لمفاتيح المرور، ولم يتطلّب الخلفية سوى إجراء بعض التعديلات الصغيرة. لذلك، كان علينا ببساطة تعديل تبعية Credential Manager إلى أحدث إصدار للحصول على إذن الوصول إلى واجهة برمجة التطبيقات الجديدة Restore Credentials API. لقد أنشأنا مفتاح استعادة من خلال مسار إنشاء مفتاح المرور نفسه، وعند تشغيل تطبيقنا على جهاز جديد، يتحقّق التطبيق بشكل استباقي من هذا المفتاح من خلال محاولة استرداد مفتاح المرور بدون أي إجراء من المستخدم. في حال العثور على مفتاح الاستعادة، يتم استخدامه على الفور لتسجيل دخول المستخدم تلقائيًا، وتجاوز أي عملية تسجيل دخول يدوية".
خلال عملية التطوير، واجه مهندسو Uber بعض التحديات أثناء التنفيذ، بدءًا من اختيار نقطة الدخول المناسبة إلى إدارة دورة حياة بيانات الاعتماد على الخلفية.
اختيار نقطة دخول "استعادة بيانات الاعتماد"
درس المهندسون بعناية المفاضلة بين تجربة المستخدم السلسة تمامًا وبساطة التنفيذ عند اختيار نقطة دخول استعادة بيانات الاعتماد التي سيتم استخدامها للاسترداد. في النهاية، أعطوا الأولوية لحلّ يوفّر توازنًا مثاليًا.
وأوضح "يمكن أن يحدث ذلك أثناء تشغيل التطبيق أو في الخلفية أثناء استعادة الجهاز وإعداده، وذلك باستخدام BackupAgent". "كانت نقطة دخول تسجيل الدخول في الخلفية أكثر سلاسة بالنسبة إلى المستخدم، ولكنها واجهت تحديات في العمليات التي تتم في الخلفية وتطلّبت استخدام واجهة برمجة التطبيقات BackupAgent، ما كان سيؤدي إلى زيادة التعقيد في قاعدة رموز كبيرة مثل قاعدة رموز Uber". وقرّروا تنفيذ الميزة أثناء تشغيل التطبيق لأول مرة، ما كان أسرع بكثير من تسجيل الدخول يدويًا.
معالجة التحديات من جهة الخادم
ظهرت بعض المشاكل من جهة الخادم أثناء الدمج مع واجهات برمجة تطبيقات WebAuthn الخلفية، لأنّ تصميمها كان يفترض أنّه سيتم دائمًا طلب إثبات هوية المستخدم، وأنّه سيتم إدراج جميع بيانات الاعتماد في إعدادات حساب المستخدم، ولم ينجح أي من هذين الافتراضين مع مفاتيح "استعادة بيانات الاعتماد" غير المُدارة من قِبل المستخدم.
حلّ فريق Uber هذه المشكلة من خلال إجراء تغييرات طفيفة على خدمات WebAuthn، وإنشاء أنواع جديدة من بيانات الاعتماد للتمييز بين مفاتيح المرور و"بيانات الاعتماد المحفوظة" ومعالجتها بشكل مناسب.
إدارة دورة حياة ميزة "استعادة بيانات الاعتماد"
واجه مهندسو Uber العديد من التحديات في إدارة مفاتيح بيانات الاعتماد على الخلفية، وقدّم مهندس الخلفية "ريان أو لافلين" دعمًا متخصصًا في هذا الشأن:
- منع المفاتيح غير المرتبطة: كان من التحديات الكبيرة تحديد استراتيجية لحذف المفاتيح العامة المسجّلة لمنعها من أن تصبح "غير مرتبطة". على سبيل المثال، يؤدي إلغاء تثبيت التطبيق إلى حذف بيانات الاعتماد المحلية، ولكن بما أنّ هذا الإجراء لا يرسل إشارة إلى الخلفية، فإنّه يترك مفتاحًا غير مستخدَم على الخادم.
- تحقيق التوازن في مدة البقاء (TTL) للمفتاح: كانت المفاتيح بحاجة إلى "مدة البقاء (TTL)" طويلة بما يكفي للتعامل مع الحالات الحدّية. على سبيل المثال، إذا أجرى المستخدم عملية احتياطية واستعادة، ثم سجّل الخروج يدويًا من الجهاز القديم، سيتم حذف المفتاح من هذا الجهاز القديم. ومع ذلك، يجب أن يظل المفتاح صالحًا على الخادم ليتمكّن الجهاز الجديد من استخدامه.
- إتاحة استخدام أجهزة متعددة: بما أنّ المستخدم قد يملك أجهزة متعددة (ويمكنه بدء عملية الاحتفاظ بنسخة احتياطية واستعادتها من أيّ منها)، كان من الضروري أن تتيح الخلفية استخدام بيانات اعتماد استعادة متعددة لكل مستخدم (واحدة لكل جهاز).
تصدّى مهندسو Uber لهذه التحديات من خلال وضع قواعد لحذف المفاتيح من جهة الخادم استنادًا إلى تسجيل بيانات اعتماد جديدة واستخدام بيانات الاعتماد.
انتقلنا من مرحلة التصميم إلى مرحلة التسليم خلال شهرَين فقط من التطوير والاختبار. بعد ذلك، تم إجراء تجربة A/B لمدة خمسة أسابيع (الوقت اللازم للتحقّق من صحة الميزة مع المستخدمين) بسلاسة وحققت نتائج لا يمكن إنكارها.
منع انخفاض عدد المستخدمين من خلال ميزة "استعادة بيانات الاعتماد"
من خلال إلغاء عمليات تسجيل الدخول اليدوية على الأجهزة الجديدة، احتفظت Uber بالمستخدمين الذين كان من المحتمل أن يتوقفوا عن استخدام التطبيق عند تسجيل الدخول على جهاز جديد. وقد انعكست هذه التحسينات على تجربة العملاء في مجموعة كبيرة من التعديلات، وعلى الرغم من أنّها قد تبدو طفيفة للوهلة الأولى، إلا أنّ تأثيرها كبير على مستوى قاعدة مستخدمي Uber:
- انخفاض بنسبة% 3.4 في عمليات تسجيل الدخول اليدوية (كلمة المرور لمرة واحدة عبر الرسائل القصيرة، وكلمات المرور، وتسجيل الدخول عبر وسائل التواصل الاجتماعي)
- انخفاض بنسبة% 1.2 في النفقات المتعلقة بتسجيلات الدخول التي تتطلّب كلمة مرور صالحة لمرة واحدة يتم إرسالها عبر الرسائل القصيرة
- زيادة بنسبة% 0.575 في معدّل الوصول إلى تطبيق Uber (% من الأجهزة التي تمكّنت من الوصول إلى الشاشة الرئيسية للتطبيق)
- زيادة بنسبة% 0.614 في عدد الأجهزة التي تمّت عليها رحلات مكتملة
واليوم، أصبحت ميزة "استعادة بيانات الاعتماد" في طريقها لتصبح جزءًا عاديًا من تطبيق Uber المخصّص للركاب، إذ تم تسجيل أكثر من 95% من المستخدمين في المجموعة التجريبية.
أثناء إعداد جهاز جديد، يمكن للمستخدمين استعادة بيانات التطبيق وبيانات الاعتماد من نسخة احتياطية. بعد اختيار Uber لاستعادة البيانات وانتهاء عملية الخلفية، سيسجّل التطبيق دخول المستخدم تلقائيًا عند تشغيله لأول مرة على الجهاز الجديد.
التأثير الكبير وغير المرئي لميزة "استعادة بيانات الاعتماد"
تخطّط Uber لتوسيع نطاق دمج ميزة "استعادة بيانات الاعتماد" في الأشهر المقبلة. وباستخدام نتائج التجربة، قدّروا أنّ هذا التغيير سيؤدي إلى إلغاء 4 ملايين عملية تسجيل دخول يدوي سنويًا. ومن خلال تبسيط عملية الوصول إلى التطبيق وإزالة إحدى المشاكل الرئيسية التي يواجهها المستخدمون، تعمل هذه الشركات بنشاط على بناء قاعدة عملاء أكثر رضاًا وولاءً، وذلك من خلال كل رحلة على حدة.
يقول "مات مولر"، مدير المنتجات الرئيسي (الهوية الأساسية) في شركة Uber: "أتاحت لنا ميزة RestoreCredentials من Google تقديم تجربة سلسة وسهلة الاستخدام يتوقّعها المستخدمون على الأجهزة الجديدة". "وقد أدّى ذلك مباشرةً إلى زيادة قابلة للقياس في الإيرادات، ما يثبت أنّ تسهيل عملية تسجيل الدخول هو المفتاح لتعزيز تفاعل المستخدمين والاحتفاظ بهم".
هل أنت على استعداد لتحسين تجربة تسجيل الدخول إلى تطبيقك؟
تعرَّف على كيفية تسهيل تجربة تسجيل دخول سلسة عند التبديل بين الأجهزة باستخدام ميزة استعادة بيانات الاعتماد، واقرأ المزيد في مشاركة المدونة. في أحدث إصدار Canary من استوديو Android Otter، يمكنك التحقّق من عملية الدمج، إذ تساعد الميزات الجديدة في محاكاة آليات الاحتفاظ بنسخة احتياطية من البيانات واستعادتها.
إذا كنت مستخدمًا جديدًا لأداة Credential Manager، يمكنك الرجوع إلى المستندات والدروس التطبيقية والأمثلة الرسمية للحصول على المساعدة في عملية الدمج.
متابعة القراءة
-
دراسات الحالة
حقّقت Zoho، وهي مجموعة برامج شاملة مستندة إلى السحابة الإلكترونية تركّز على الأمان والتجارب السلسة، تحسينات كبيرة من خلال استخدام مفاتيح المرور في تطبيق Android OneAuth.
Niharika Arora, Joseph Lewis • مدة القراءة: 10 دقائق
-
دراسات الحالة
من الأخبار العاجلة والترفيه إلى الرياضة والسياسة، X هو تطبيق وسائط اجتماعية يهدف إلى مساعدة ما يقرب من 500 مليون مستخدم حول العالم في الحصول على القصة الكاملة مع كل التعليقات المباشرة.
Niharika Arora • قراءة لمدة 3 دقائق
-
دراسات الحالة
Monzo هو بنك رقمي في المملكة المتحدة يضم 15 مليون عميل، وما زال عدد عملائه في ازدياد. مع توسّع التطبيق، أدرك فريق الهندسة أنّ وقت بدء تشغيل التطبيق يمثّل مجالًا مهمًا للتحسين، ولكنّه كان قلقًا من أنّ ذلك سيتطلّب إجراء تغييرات كبيرة على قاعدة الرموز البرمجية.
Ben Weiss • مدة القراءة: دقيقتان
البقاء على اطّلاع على آخر التحديثات
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.