Cara Uber mengurangi login manual sebanyak 4 juta per tahun dengan Restore Credentials API
Waktu baca: 5 menit
Uber adalah perusahaan transportasi online terbesar di dunia, yang mengantarkan jutaan orang dari satu tempat ke tempat lain sekaligus mendukung pengiriman makanan, transportasi layanan kesehatan, dan logistik pengiriman barang. Kemudahan akses sangat penting bagi keberhasilan Uber. Saat beralih ke perangkat baru, pengguna mengharapkan transisi yang lancar tanpa perlu login kembali ke aplikasi Uber atau melalui autentikasi sandi sekali pakai berbasis SMS. Pergantian perangkat yang sering ini menjadi tantangan, sekaligus peluang untuk retensi pengguna yang kuat.
Untuk mempertahankan kontinuitas pengguna, engineer Uber beralih ke fitur Restore Credentials, alat penting untuk saat ini ketika 40% orang di Amerika Serikat mengganti smartphone mereka setiap tahun. Setelah melakukan penilaian terhadap permintaan pengguna dan pembuatan prototipe kode, mereka memperkenalkan dukungan Pulihkan Kredensial di aplikasi penumpang Uber. Untuk memvalidasi bahwa pemulihan kredensial membantu menghilangkan hambatan saat login ulang, tim Uber menjalankan eksperimen A/B yang berhasil selama periode lima minggu. Integrasi ini mengurangi login manual yang, jika diproyeksikan di seluruh basis pengguna Uber yang sangat besar, diperkirakan akan menghilangkan 4 juta login manual setiap tahunnya.
Menghilangkan hambatan login dengan Restore Credentials
Sebelumnya, ada upaya pemulihan akun di perangkat baru menggunakan solusi seperti pencadangan data reguler dan BlockStore, meskipun kedua solusi tersebut memerlukan pembagian token autentikasi secara langsung, dari perangkat sumber ke perangkat tujuan. Karena informasi token sangat sensitif, solusi ini hanya digunakan sampai batas tertentu, untuk mengisi otomatis kolom login di perangkat tujuan dan mengurangi beberapa hambatan selama alur login. Kunci sandi juga digunakan untuk menyediakan metode login yang aman dan cepat, tetapi sifatnya yang dimulai oleh pengguna membatasi dampaknya pada transisi perangkat yang lancar.
“Beberapa pengguna tidak menggunakan aplikasi Uber setiap hari, tetapi mereka berharap aplikasi tersebut akan berfungsi saat mereka membutuhkannya,” kata Thomás Oliveira Horta, Android Engineer di Uber. “Mengetahui bahwa Anda logout saat membuka aplikasi untuk meminta tumpangan di ponsel Android baru Anda dapat menjadi pengalaman yang tidak menyenangkan dan menjengkelkan.”
Dengan Pulihkan Kredensial, para engineer dapat menjembatani kesenjangan ini. API ini menghasilkan token unik di perangkat lama, yang dipindahkan dengan lancar dan otomatis ke perangkat baru saat pengguna memulihkan data aplikasi mereka selama proses orientasi standar. Proses ini memanfaatkan mekanisme pencadangan dan pemulihan native Android OS, sehingga memastikan transfer kunci pemulihan yang aman bersama dengan data aplikasi. Pendekatan yang disederhanakan ini menjamin transfer akun yang sederhana dan aman, sehingga memenuhi persyaratan keamanan Uber tanpa memerlukan input pengguna tambahan atau overhead pengembangan.
Catatan: Kunci pemulihan dan kunci sandi menggunakan implementasi server dasar yang sama. Namun, saat menyimpannya di database, Anda harus membedakannya. Perbedaan ini sangat penting karena kunci sandi yang dibuat pengguna dapat dikelola langsung oleh pengguna, sedangkan kunci pemulihan dikelola oleh sistem dan disembunyikan dari antarmuka pengguna.
“Dengan penerapan Restore Credentials di aplikasi penumpang Uber, kami mulai melihat penggunaan yang konsisten,” kata Thomás. “Rata-rata 10.000 pengguna harian unik telah login dengan Restore Credentials pada tahap peluncuran saat ini, dan mereka menikmati pengalaman yang lancar saat membuka aplikasi untuk pertama kalinya di perangkat baru. Kami memperkirakan jumlah tersebut akan meningkat dua kali lipat setelah kami memperluas peluncuran ke seluruh basis pengguna kami.”
Pertimbangan Penerapan
“Integrasi cukup mudah dengan penyesuaian kecil di sisi Android dengan mengikuti kode contoh dan dokumentasi,” kata Thomás. “Aplikasi kami sudah menggunakan Credential Manager untuk kunci sandi, dan backend-nya hanya memerlukan beberapa penyesuaian kecil. Oleh karena itu, kami hanya perlu mengupdate dependensi Credential Manager ke versi terbarunya untuk mendapatkan akses ke Restore Credentials API yang baru. Kami membuat kunci pemulihan melalui alur pembuatan kunci sandi yang sama dan saat aplikasi kami diluncurkan di perangkat baru, aplikasi akan secara proaktif memeriksa kunci ini dengan mencoba mengambil kunci sandi secara otomatis. Jika kunci pemulihan ditemukan, kunci tersebut akan langsung digunakan untuk otomatis membuat pengguna login, tanpa perlu login manual.”
Sepanjang proses pengembangan, engineer Uber menghadapi beberapa tantangan selama implementasi—mulai dari memilih titik entri yang tepat hingga mengelola siklus proses kredensial di backend.
Memilih titik entri Restore Credentials
Para engineer mempertimbangkan dengan cermat konsekuensi antara pengalaman pengguna yang sangat lancar dan kemudahan implementasi saat memilih titik entri Restore Credentials yang akan digunakan untuk pemulihan. Pada akhirnya, mereka memprioritaskan solusi yang menawarkan keseimbangan ideal.
“Hal ini dapat dilakukan selama Peluncuran Aplikasi atau di latar belakang selama pemulihan dan penyiapan perangkat, menggunakan BackupAgent,” kata Thomás. “Titik entri login latar belakang lebih lancar bagi pengguna, tetapi menimbulkan tantangan dengan operasi latar belakang dan memerlukan penggunaan BackupAgent API, yang akan meningkatkan kompleksitas dalam codebase sebesar Uber.” Mereka memutuskan untuk menerapkan fitur tersebut selama peluncuran aplikasi pertama, yang jauh lebih cepat daripada login manual.
Mengatasi tantangan sisi server
Beberapa tantangan sisi server muncul selama integrasi dengan API WebAuthn backend, karena desainnya mengasumsikan bahwa verifikasi pengguna akan selalu diperlukan, dan bahwa semua kredensial akan dicantumkan di setelan akun pengguna; kedua asumsi ini tidak berlaku untuk kunci Kredensial Pemulihan yang tidak dikelola pengguna.
Tim Uber mengatasi masalah ini dengan melakukan perubahan kecil pada layanan WebAuthn, membuat jenis kredensial baru untuk membedakan kunci sandi dari Kredensial Pemulihan dan memprosesnya dengan tepat.
Mengelola siklus proses Restore Credentials
Engineer Uber menghadapi beberapa tantangan dalam mengelola kunci kredensial di backend, dengan dukungan khusus dari engineer backend Ryan O’Laughlin:
- Mencegah kunci tanpa induk: Tantangan yang signifikan adalah menentukan strategi untuk menghapus Kunci Publik terdaftar agar tidak menjadi "tanpa induk". Misalnya, meng-uninstal aplikasi akan menghapus kredensial lokal, tetapi karena tindakan ini tidak memberi sinyal ke backend, tindakan ini akan meninggalkan kunci yang tidak digunakan di server.
- Menyeimbangkan masa aktif kunci: Kunci memerlukan "masa aktif" yang cukup lama untuk menangani kasus ekstrem. Misalnya, jika pengguna melakukan pencadangan dan pemulihan, lalu logout secara manual dari perangkat lama, kunci akan dihapus dari perangkat lama tersebut. Namun, kunci harus tetap valid di server agar perangkat baru masih dapat menggunakannya.
- Mendukung beberapa perangkat: Karena pengguna mungkin memiliki beberapa perangkat (dan dapat memulai pencadangan dan pemulihan dari salah satunya), backend perlu mendukung beberapa Kredensial Pemulihan per pengguna (satu untuk setiap perangkat).
Engineer Uber mengatasi tantangan ini dengan menetapkan aturan untuk penghapusan kunci sisi server berdasarkan pendaftaran kredensial baru dan penggunaan kredensial.
Fitur ini beralih dari desain ke pengiriman dalam proses pengembangan dan pengujian yang cepat selama dua bulan. Setelah itu, eksperimen A/B selama lima minggu (waktu untuk memvalidasi fitur dengan pengguna) berjalan lancar dan memberikan hasil yang tidak dapat disangkal.
Mencegah penurunan jumlah pengguna dengan Restore Credentials
Dengan menghilangkan login manual di perangkat baru, Uber mempertahankan pengguna yang mungkin telah mengabaikan alur login di perangkat baru. Peningkatan kemudahan bagi pelanggan ini tercermin dalam berbagai peningkatan, dan meskipun sekilas tampak kecil, dampaknya sangat besar pada skala basis pengguna Uber:
- Penurunan 3,4% dalam login manual (OTP SMS, sandi, login sosial).
- Pengurangan biaya sebesar 1,2% untuk login yang memerlukan OTP SMS.
- Peningkatan 0,575% dalam tingkat akses Uber (% perangkat yang berhasil mencapai layar utama aplikasi).
- Kenaikan 0,614% pada perangkat dengan perjalanan yang selesai.
Saat ini, Restore Credentials sedang dalam proses untuk menjadi bagian standar dari aplikasi penumpang Uber, dengan lebih dari 95% pengguna dalam grup uji coba terdaftar.
Selama penyiapan perangkat baru, pengguna dapat memulihkan data aplikasi dan kredensial dari cadangan. Setelah memilih Uber untuk pemulihan dan proses latar belakang selesai, aplikasi akan otomatis membuat pengguna login saat peluncuran pertama perangkat baru.
Dampak Restore Credentials yang tidak terlihat, tetapi sangat besar
Dalam beberapa bulan mendatang, Uber berencana memperluas integrasi Pulihkan Kredensial. Berdasarkan hasil uji coba, mereka memperkirakan perubahan ini akan menghilangkan 4 juta login manual setiap tahunnya. Dengan menyederhanakan akses aplikasi dan menghilangkan poin masalah utama, mereka secara aktif membangun basis pelanggan yang lebih puas dan loyal, satu perjalanan demi satu perjalanan.
"Mengintegrasikan RestoreCredentials Google memungkinkan kami memberikan pengalaman yang lancar dan'langsung berfungsi ' yang diharapkan pengguna kami di perangkat baru," kata Matt Mueller, Lead Product Manager (Core Identity) di Uber. “Hal ini secara langsung menghasilkan peningkatan pendapatan yang terukur, yang membuktikan bahwa mengurangi hambatan login adalah kunci untuk engagement dan retensi pengguna."
Siap meningkatkan pengalaman login aplikasi Anda?
Pelajari cara memfasilitasi pengalaman login yang lancar saat beralih perangkat dengan Restore Credentials dan baca selengkapnya di postingan blog. Di canary terbaru Android Studio Otter, Anda dapat memvalidasi integrasi, karena fitur baru membantu menyimulasikan mekanisme pencadangan dan pemulihan.
Jika Anda baru menggunakan Credential Manager, Anda dapat melihat dokumentasi, codelab, dan contoh resmi kami untuk mendapatkan bantuan terkait integrasi
-
Studi KasusWhatsApp adalah platform pesan terbesar di dunia, yang melayani miliaran pengguna di seluruh dunia. WhatsApp adalah alat komunikasi default bagi orang-orang di berbagai wilayah, yang menghubungkan pengguna melalui pesan pribadi, andal, dan aman.
Niharika Arora, Tracy Agyemang, Mayank Jain • Waktu baca: 8 menit -
Studi KasusDari berita penting dan hiburan hingga olahraga dan politik, X adalah aplikasi media sosial yang bertujuan membantu hampir 500 juta pengguna di seluruh dunia mendapatkan berita lengkap dengan semua komentar langsung.
Niharika Arora, Tracy Agyemang • Waktu baca: 3 menit -
Studi KasusGrab adalah aplikasi super terkemuka di Asia Tenggara, yang menawarkan layanan pengiriman, mobilitas, dan keuangan kepada jutaan pengguna di delapan negara melalui satu aplikasi.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Waktu baca: 5 menit
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.