مطالعات موردی
چگونه اوبر با استفاده از رابط برنامهنویسی کاربردی بازیابی اطلاعات کاربری (Restore Credentials API) ورودهای دستی را سالانه ۴ میلیون بار کاهش میدهد؟
مطالعه ۵ دقیقهای

اوبر بزرگترین شرکت حمل و نقل اشتراکی جهان است که میلیونها نفر را از اینجا به آنجا میبرد و در عین حال از تحویل غذا، حمل و نقل مراقبتهای بهداشتی و تدارکات بار نیز پشتیبانی میکند. سادگی دسترسی برای موفقیت آن بسیار مهم است؛ وقتی کاربران به یک دستگاه جدید روی میآورند، انتظار دارند بدون نیاز به ورود مجدد به برنامه اوبر یا عبور از احراز هویت رمز عبور یک بار مصرف مبتنی بر پیامک، انتقالی یکپارچه داشته باشند. این جابجایی مکرر دستگاه، چالشی را ایجاد میکند، همچنین فرصتی برای حفظ قوی کاربر.
برای حفظ تداوم استفاده کاربران، مهندسان اوبر به ویژگی بازیابی اطلاعات کاربری (Restore Credentials) روی آوردند، ابزاری ضروری برای زمانی که ۴۰٪ از مردم ایالات متحده هر ساله تلفن هوشمند خود را تعویض میکنند. پس از ارزیابی تقاضای کاربران و نمونهسازی کد، آنها پشتیبانی از بازیابی اطلاعات کاربری را در برنامه Uber rider معرفی کردند. برای تأیید اینکه بازیابی اطلاعات کاربری به حذف موانع برای ورود مجدد کمک میکند، تیم اوبر یک آزمایش A/B موفق را برای یک دوره پنج هفتهای اجرا کرد. این ادغام منجر به کاهش ورودهای دستی شد که با پیشبینی در سراسر پایگاه عظیم کاربران اوبر، تخمین زده میشود که سالانه ۴ میلیون ورود دستی را حذف کند.
حذف مشکلات ورود به سیستم با بازیابی اعتبارنامهها

تلاشهای گذشته برای بازیابی حساب کاربری در دستگاههای جدید با استفاده از راهحلهایی مانند پشتیبانگیری منظم از دادهها و BlockStore وجود داشت، اگرچه هر دو راهحل نیاز به اشتراکگذاری مستقیم توکنهای احراز هویت از دستگاه مبدا به دستگاه مقصد داشتند. از آنجایی که اطلاعات توکن بسیار حساس است، این راهحلها فقط تا حدی برای پر کردن اولیه فیلدهای ورود به سیستم در دستگاه مقصد و کاهش برخی از اصطکاکها در جریان ورود به سیستم استفاده میشوند. کلیدهای عبور نیز برای ارائه یک روش ورود امن و سریع استفاده میشوند، اما ماهیت ابتکاری آنها توسط کاربر، تأثیر آنها را بر انتقال یکپارچه دستگاه محدود میکند.
توماس اولیویرا هورتا، مهندس اندروید در اوبر، گفت: «بعضی از کاربران روزانه از اپلیکیشن اوبر استفاده نمیکنند، اما انتظار دارند که فقط زمانی که به آن نیاز دارند، کار کند. اینکه درست زمانی که برنامه را برای درخواست تاکسی با گوشی اندروید جدید خود باز میکنید، متوجه شوید که از سیستم خارج شدهاید، میتواند یک تجربه ناخوشایند و ناخوشایند باشد.»
با Restore Credentials ، مهندسان توانستند این شکاف را پر کنند. این API یک توکن منحصر به فرد در دستگاه قدیمی ایجاد میکند که به طور یکپارچه و بیصدا به دستگاه جدید منتقل میشود، زمانی که کاربر دادههای برنامه خود را در طول فرآیند استاندارد ورود به سیستم بازیابی میکند. این فرآیند از مکانیزم پشتیبانگیری و بازیابی بومی سیستم عامل اندروید بهره میبرد و انتقال ایمن کلید بازیابی را به همراه دادههای برنامه تضمین میکند. این رویکرد ساده، انتقال حساب کاربری ساده و ایمن را تضمین میکند و الزامات امنیتی Uber را بدون هیچ گونه ورودی کاربر یا سربار توسعه اضافی برآورده میسازد.
نکته: کلیدهای بازیابی و کلیدهای عبور از یک پیادهسازی سرور پایه استفاده میکنند. با این حال، هنگامی که آنها را در پایگاه داده خود ذخیره میکنید، باید بین آنها تمایز قائل شوید. این تمایز بسیار مهم است زیرا کلیدهای عبور ایجاد شده توسط کاربر میتوانند مستقیماً توسط کاربر مدیریت شوند، در حالی که کلیدهای بازیابی توسط سیستم مدیریت میشوند و از رابط کاربری پنهان هستند.
توماس گفت: «با پذیرش Restore Credentials در اپلیکیشن تاکسی اینترنتی اوبر، شاهد استفاده مداوم از آن بودیم. در مرحله فعلی انتشار، به طور متوسط روزانه ۱۰ هزار کاربر منحصر به فرد با Restore Credentials وارد سیستم شدهاند و هنگام باز کردن اپلیکیشن برای اولین بار روی یک دستگاه جدید، از یک تجربه روان لذت بردهاند. انتظار داریم این تعداد پس از گسترش انتشار به کل پایگاه کاربریمان، دو برابر شود .»

ملاحظات اجرایی
توماس گفت: «یکپارچهسازی با تنظیمات جزئی در سمت اندروید با دنبال کردن کد نمونه و مستندات ، بسیار آسان بود. برنامه ما قبلاً از Credential Manager برای کلیدهای عبور استفاده میکرد و بخش پشتی فقط به چند تغییر کوچک نیاز داشت. بنابراین، ما فقط نیاز داشتیم وابستگی Credential Manager را به آخرین نسخه آن بهروزرسانی کنیم تا به API جدید Restore Credentials دسترسی پیدا کنیم. ما از طریق همان جریان ایجاد کلید عبور، یک کلید بازیابی ایجاد کردیم و وقتی برنامه ما روی یک دستگاه جدید اجرا میشود، برنامه با تلاش برای بازیابی بیصدای کلید عبور، به صورت فعال این کلید را بررسی میکند. اگر کلید بازیابی پیدا شود، بلافاصله برای ورود خودکار کاربر استفاده میشود و هرگونه ورود دستی را دور میزند.»
در طول فرآیند توسعه، مهندسان اوبر با چالشهای متعددی در طول پیادهسازی روبرو شدند - از انتخاب نقطه ورود مناسب گرفته تا مدیریت چرخه عمر اعتبارنامه در backend.
انتخاب نقطه ورود بازیابی اعتبارنامهها
مهندسان هنگام انتخاب نقطه ورود Restore Credentials برای بازیابی ، با دقت بین یک تجربه کاربری کاملاً روان و سادگی پیادهسازی، تعادل برقرار کردند. در نهایت، آنها راهکاری را در اولویت قرار دادند که تعادل ایدهآلی را ارائه دهد.
توماس گفت: «این میتواند در حین راهاندازی برنامه یا در پسزمینه در حین بازیابی و راهاندازی دستگاه، با استفاده از BackupAgent، اتفاق بیفتد. نقطه ورود به سیستم پسزمینه برای کاربر یکپارچهتر است، اما چالشهایی را با عملیات پسزمینه و نیاز به استفاده از API BackupAgent ایجاد میکند که منجر به افزایش پیچیدگی در یک پایگاه کد به بزرگی Uber میشود.» آنها تصمیم گرفتند این ویژگی را در اولین راهاندازی برنامه پیادهسازی کنند که به طور قابل توجهی سریعتر از ورود دستی بود.
پرداختن به چالشهای سمت سرور
در طول ادغام با APIهای WebAuthn بکاند، چند چالش سمت سرور ایجاد شد، زیرا طراحی آنها فرض میکرد که تأیید کاربر همیشه مورد نیاز است و همه اعتبارنامهها در تنظیمات حساب کاربر فهرست میشوند؛ هیچ یک از این فرضیات برای کلیدهای Restore Credential که توسط کاربر مدیریت نمیشوند، کار نمیکرد.
تیم اوبر این مشکل را با ایجاد تغییرات جزئی در سرویسهای WebAuthn و ایجاد انواع جدید اعتبارنامه برای تمایز کلیدهای عبور از Restore Credentials و پردازش مناسب آنها حل کرد.
مدیریت چرخه حیات بازیابی اعتبارنامهها
مهندسان اوبر با چالشهای متعددی در مدیریت کلیدهای اعتبارنامه در بخش مدیریت، با پشتیبانی تخصصی مهندس بخش مدیریت، رایان اولافلین، مواجه شدند:
- جلوگیری از کلیدهای یتیم : یک چالش مهم، تعریف استراتژی برای حذف کلیدهای عمومی ثبتشده بود تا از «یتیم شدن» آنها جلوگیری شود. به عنوان مثال، حذف برنامه، اعتبارنامه محلی را حذف میکند، اما از آنجا که این عمل به backend سیگنال نمیدهد، یک کلید استفاده نشده روی سرور باقی میماند.
- متعادلسازی طول عمر کلید : کلیدها به «زمان ماندگاری» نیاز داشتند که به اندازه کافی طولانی باشد تا بتواند موارد خاص را مدیریت کند. به عنوان مثال، اگر کاربری از طریق پشتیبانگیری و بازیابی، اطلاعات را بازیابی کند و سپس به صورت دستی از دستگاه قدیمی خارج شود، کلید از آن دستگاه قدیمی حذف میشود. با این حال، کلید باید در سرور معتبر باقی بماند تا دستگاه جدید همچنان بتواند از آن استفاده کند.
- پشتیبانی از چندین دستگاه : از آنجایی که یک کاربر ممکن است چندین دستگاه داشته باشد (و بتواند از هر یک از آنها نسخه پشتیبان تهیه و بازیابی کند)، بکاند باید از چندین اعتبارنامه بازیابی برای هر کاربر (یکی برای هر دستگاه) پشتیبانی کند.
مهندسان اوبر با ایجاد قوانینی برای حذف کلید سمت سرور بر اساس ثبت نام جدید اعتبارنامه و استفاده از اعتبارنامه، به این چالشها پرداختند.
این ویژگی از طراحی تا تحویل، در یک فرآیند توسعه و آزمایش سریع دو ماهه طی شد. پس از آن، یک آزمایش پنج هفتهای A/B (زمان اعتبارسنجی ویژگی با کاربران) به راحتی پیش رفت و نتایج غیرقابل انکاری به همراه داشت.
جلوگیری از حذف کاربر با بازیابی اعتبارنامهها
با حذف ورود دستی در دستگاههای جدید، اوبر کاربرانی را که ممکن بود در غیر این صورت از ورود به سیستم در دستگاه جدید صرف نظر کنند، حفظ کرد. این افزایش سهولت مشتری در طیف گستردهای از پیشرفتها منعکس شد و اگرچه ممکن است در نگاه اول ناچیز به نظر برسند، اما تأثیر آن در مقیاس پایگاه کاربری اوبر بسیار عظیم است:
- ۳.۴٪ کاهش در ورودهای دستی (پیامک OTP، رمزهای عبور، ورود از طریق شبکههای اجتماعی).
- ۱.۲٪ کاهش در هزینههای ورود به سیستم که نیاز به رمز یکبار مصرف پیامکی (OTP) دارند.
- افزایش ۰.۵۷۵ درصدی نرخ دسترسی به اوبر (درصد دستگاههایی که با موفقیت به صفحه اصلی برنامه دسترسی پیدا کردند).
- افزایش ۰.۶۱۴ درصدی دستگاههایی که سفرهایشان تکمیل شده است.
امروزه، Restore Credentials در مسیر تبدیل شدن به یک بخش استاندارد از اپلیکیشن تاکسی اینترنتی اوبر قرار دارد و بیش از ۹۵ درصد از کاربران گروه آزمایشی در آن ثبت نام کردهاند.

در طول راهاندازی دستگاه جدید، کاربران میتوانند دادهها و اعتبارنامههای برنامه را از یک نسخه پشتیبان بازیابی کنند. پس از انتخاب اوبر برای بازیابی و اتمام فرآیند پسزمینه، برنامه به طور خودکار کاربر را در اولین راهاندازی دستگاه جدید وارد سیستم میکند.

تأثیر نامرئی اما عظیم بازیابی اطلاعات کاربری
در ماههای آینده، اوبر قصد دارد ادغام Restore Credentials را گسترش دهد. با توجه به نتایج آزمایش، آنها تخمین میزنند که این تغییر سالانه ۴ میلیون ورود دستی را حذف خواهد کرد. با سادهسازی دسترسی به برنامه و حذف یک نقطه ضعف کلیدی، آنها به طور فعال در حال ایجاد یک پایگاه مشتری راضیتر و وفادارتر هستند، هر بار یک سفر.
مت مولر، مدیر ارشد محصول (هویت اصلی) در اوبر، گفت: «ادغام RestoreCredentials گوگل به ما این امکان را داد که تجربهی بینقصی را که کاربرانمان از یک دستگاه جدید انتظار دارند، ارائه دهیم. این امر مستقیماً به افزایش قابل اندازهگیری درآمد منجر شد و ثابت کرد که کاهش اصطکاک ورود به سیستم، کلید تعامل و حفظ کاربر است.»
آمادهاید تا تجربه ورود به برنامهتان را بهبود ببخشید؟
بیاموزید که چگونه با استفاده از Restore Credentials ، هنگام تعویض دستگاه، یک تجربه ورود یکپارچه را تسهیل کنید و اطلاعات بیشتر را در پست وبلاگ بخوانید. در جدیدترین نسخه اندروید استودیو Otter میتوانید ادغام خود را تأیید کنید، زیرا ویژگیهای جدید به شبیهسازی مکانیسمهای پشتیبانگیری و بازیابی کمک میکنند.
اگر در زمینه مدیریت اعتبارنامه تازهکار هستید، میتوانید برای کمک به یکپارچهسازی به مستندات رسمی، آزمایشگاه کد و نمونههای ما مراجعه کنید.
ادامه مطلب

مطالعات موردی
Zoho، یک مجموعه نرمافزاری جامع مبتنی بر ابر که بر امنیت و تجربیات یکپارچه متمرکز است، با اتخاذ کلیدهای عبور در برنامه اندروید OneAuth خود، به پیشرفتهای قابل توجهی دست یافته است.
Niharika Arora , Joseph Lewis • 10 دقیقه خواندن

مطالعات موردی
از اخبار فوری و سرگرمی گرفته تا ورزش و سیاست، X یک برنامه رسانه اجتماعی است که هدف آن کمک به نزدیک به ۵۰۰ میلیون کاربر در سراسر جهان برای دسترسی به کل اخبار به همراه تمام تفاسیر زنده است.
Niharika Arora • ۳ دقیقه مطالعه

مطالعات موردی
مونزو یک بانک دیجیتال بریتانیایی با ۱۵ میلیون مشتری و در حال رشد است. با گسترش اپلیکیشن، تیم مهندسی زمان راهاندازی اپلیکیشن را به عنوان یک حوزه حیاتی برای بهبود شناسایی کرد، اما نگران بود که این امر نیاز به تغییرات قابل توجهی در کدبیس آنها داشته باشد.
Ben Weiss • ۲ دقیقه مطالعه
در جریان باشید
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.



