Studi Kasus
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 mengantar jutaan orang dari satu tempat ke tempat lain sekaligus mendukung pengiriman makanan, transportasi layanan kesehatan, dan logistik pengiriman. Kemudahan akses sangat penting untuk kesuksesannya. Saat pengguna beralih ke perangkat baru, mereka 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 menggunakan fitur Restore Credentials, alat penting untuk saat ketika 40% orang di Amerika Serikat mengganti smartphone mereka setiap tahun. Setelah melakukan penilaian terhadap permintaan pengguna dan pembuatan prototipe kode, mereka memperkenalkan dukungan Restore Credentials di aplikasi Uber untuk penumpang. Untuk memvalidasi bahwa pemulihan kredensial membantu menghilangkan hambatan untuk login ulang, tim Uber menjalankan eksperimen A/B yang berhasil selama periode lima minggu. Integrasi ini menyebabkan pengurangan login manual yang, jika diproyeksikan di seluruh basis pengguna Uber yang besar, diperkirakan akan menghilangkan 4 juta login manual setiap tahun.
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 mengharuskan berbagi 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, seorang engineer Android di Uber. “Mengetahui bahwa Anda logout saat membuka aplikasi untuk memesan transportasi di ponsel Android baru Anda dapat menjadi pengalaman yang tidak menyenangkan dan membuat Anda enggan menggunakan aplikasi tersebut.”
Dengan Restore Credentials, engineer dapat menjembatani kesenjangan ini. API ini menghasilkan token unik di perangkat lama, yang dipindahkan secara 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, yang memastikan transfer kunci pemulihan yang aman bersama dengan data aplikasi. Pendekatan yang disederhanakan menjamin transfer akun yang sederhana dan aman, memenuhi persyaratan keamanan Uber tanpa 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 sistem dan disembunyikan dari antarmuka pengguna.
“Dengan penerapan Restore Credentials di aplikasi Uber untuk penumpang, 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 berlipat ganda 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 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 pengambilan kunci sandi otomatis. Jika kunci pemulihan ditemukan, kunci tersebut akan segera digunakan untuk otomatis login pengguna, tanpa perlu login manual.”
Selama proses pengembangan, engineer Uber menghadapi beberapa tantangan selama penerapan—mulai dari memilih titik entri yang tepat hingga mengelola siklus proses kredensial di backend.
Memilih titik entri Restore Credentials
Engineer dengan cermat mempertimbangkan kompromi antara pengalaman pengguna yang lancar dan kesederhanaan penerapan 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 menyebabkan peningkatan kompleksitas dalam codebase sebesar Uber.” Mereka memutuskan untuk menerapkan fitur ini selama peluncuran aplikasi pertama, yang jauh lebih cepat daripada login manual.
Mengatasi tantangan sisi server
Beberapa tantangan sisi server muncul selama integrasi dengan WebAuthn API backend, karena desainnya mengasumsikan bahwa verifikasi pengguna akan selalu diperlukan, dan semua kredensial akan tercantum di setelan akun pengguna. Tidak satu pun dari asumsi ini berfungsi untuk kunci Restore Credential yang tidak dikelola pengguna.
Tim Uber mengatasi hal ini dengan melakukan perubahan kecil pada layanan WebAuthn, membuat jenis kredensial baru untuk membedakan kunci sandi dari Restore Credentials 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 yang tidak terhubung: Tantangan signifikan adalah menentukan strategi untuk menghapus Kunci Publik terdaftar agar tidak menjadi "tidak terhubung". 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 "waktu 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 sehingga perangkat baru masih dapat menggunakannya.
- Mendukung beberapa perangkat: Karena pengguna mungkin memiliki beberapa perangkat (dan dapat memulai pencadangan dan pemulihan dari salah satu perangkat tersebut), backend harus mendukung beberapa Restore Credentials 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 menghasilkan hasil yang tidak dapat disangkal.
Mencegah pengguna berhenti menggunakan aplikasi dengan Restore Credentials
Dengan menghilangkan login manual di perangkat baru, Uber mempertahankan pengguna yang mungkin akan berhenti menggunakan alur login di perangkat baru. Peningkatan kemudahan pelanggan ini tercermin dalam berbagai peningkatan, dan meskipun mungkin terlihat kecil pada pandangan pertama, dampaknya sangat besar pada skala basis pengguna Uber:
- Penurunan 3,4% dalam login manual (OTP SMS, sandi, login sosial).
- Pengurangan 1,2% dalam pengeluaran untuk login yang memerlukan OTP SMS.
- Peningkatan 0,575% dalam rasio akses Uber (% perangkat yang berhasil mencapai layar utama aplikasi).
- Peningkatan 0,614% pada perangkat dengan perjalanan yang selesai.
Saat ini, Restore Credentials sedang dalam proses untuk menjadi bagian standar dari aplikasi Uber untuk penumpang, dengan lebih dari 95% pengguna dalam grup uji coba yang terdaftar.
Selama penyiapan perangkat baru, pengguna dapat memulihkan data dan kredensial aplikasi dari cadangan. Setelah memilih Uber untuk pemulihan dan proses latar belakang selesai, aplikasi akan otomatis login pengguna pada peluncuran pertama perangkat baru.
Dampak Restore Credentials yang tidak terlihat namun sangat besar
Dalam beberapa bulan mendatang, Uber berencana memperluas integrasi Restore Credentials. Dengan memproyeksikan hasil uji coba, mereka memperkirakan perubahan ini akan menghilangkan 4 juta login manual setiap tahun. Dengan menyederhanakan akses aplikasi dan menghilangkan masalah utama, mereka secara aktif membangun basis pelanggan yang lebih puas dan loyal, satu perjalanan dalam satu waktu.
"Mengintegrasikan RestoreCredentials Google memungkinkan kami memberikan pengalaman 'langsung berfungsi' yang lancar dan 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 interaksi 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 Android Studio Otter versi canary terbaru, Anda dapat memvalidasi integrasi, karena fitur baru membantu meniru mekanisme pencadangan dan pemulihan.
Jika Anda baru menggunakan Credential Manager, Anda dapat melihat dokumentasi resmi, codelab, dan contoh kami untuk mendapatkan bantuan terkait integrasi
Lanjutkan membaca
-
Studi Kasus
Mulai dari berita dan hiburan hingga olahraga dan politik, X adalah aplikasi media sosial yang bertujuan membantu hampir 500 juta pengguna di seluruh dunia mendapatkan cerita lengkap dengan semua komentar live.
Niharika Arora, Tracy Agyemang • Waktu baca: 3 menit
-
Studi Kasus
Karrot adalah aplikasi marketplace peer-to-peer berbasis komunitas hiperlokal yang memungkinkan pengguna membeli, menjual, dan menukar item dengan pengguna terverifikasi lainnya. Sejak diluncurkan di Korea Selatan pada tahun 2015, platform ini telah berkembang ke pasar global, dan mengumpulkan lebih dari 43 juta pengguna terdaftar.
Thomas Ezan, Tracy Agyemang • Waktu baca: 2 menit
-
Studi Kasus
Monzo adalah bank digital Inggris dengan 15 juta pelanggan dan terus bertambah. Seiring dengan peningkatan skala aplikasi, tim teknik mengidentifikasi waktu startup aplikasi sebagai area penting untuk ditingkatkan, tetapi khawatir hal ini akan memerlukan perubahan signifikan pada codebase mereka.
Ben Weiss, Tracy Agyemang • Waktu baca: 2 menit
Terus dapatkan informasi
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.