Örnek Olaylar
Uber, Restore Credentials API ile manuel girişleri yılda 4 milyon azaltıyor
Okuma süresi: 5 dakika
Uber, dünyanın en büyük araç paylaşımı şirketidir. Milyonlarca insanı bir yerden başka bir yere taşırken aynı zamanda yemek teslimatı, sağlık hizmeti ulaşımı ve kargo lojistiği hizmetleri de sunar. Erişimin kolaylığı, başarısı için çok önemlidir. Kullanıcılar yeni bir cihaza geçtiğinde, Uber uygulamasına tekrar giriş yapmaları veya SMS tabanlı tek kullanımlık şifre kimlik doğrulama sürecinden geçmeleri gerekmeden sorunsuz bir geçiş bekler. Bu sık cihaz değişimi, güçlü kullanıcıları elde tutma açısından hem bir zorluk hem de bir fırsat sunar.
Kullanıcıların kesintisiz deneyimini sürdürmek için Uber'in mühendisleri, ABD'de insanların% 40'ının her yıl akıllı telefonunu değiştirdiği bir dönemde önemli bir araç olan Kimlik Bilgilerini Geri Yükleme özelliğini kullanmaya başladı. Kullanıcı talebi ve kod prototipleme değerlendirmesinin ardından Uber yolcu uygulamasında kimlik bilgilerini geri yükleme desteğini kullanıma sundular. Kimlik bilgilerini geri yüklemenin yeniden girişlerdeki sorunları gidermeye yardımcı olduğunu doğrulamak için Uber ekibi beş hafta boyunca başarılı bir A/B denemesi gerçekleştirdi. Bu entegrasyon, manuel girişlerde azalmaya yol açtı. Bu azalmanın, Uber'in büyük kullanıcı tabanına yansıtıldığında yılda 4 milyon manuel girişin ortadan kalkacağı tahmin ediliyor.
Kimlik Bilgilerini Geri Yükleme ile giriş sürecindeki zorlukları ortadan kaldırma
Geçmişte, normal veri yedekleme ve BlockStore gibi çözümler kullanılarak yeni cihazlarda hesap geri yükleme denemeleri yapılmıştı. Ancak her iki çözümde de kimlik doğrulama jetonlarının doğrudan kaynak cihazdan hedef cihaza paylaşılması gerekiyordu. Jeton bilgileri son derece hassas olduğundan bu çözümler yalnızca bir ölçüde kullanılır. Bu çözümler, hedef cihazdaki giriş alanlarını önceden doldurmak ve oturum açma akışları sırasında yaşanan bazı sorunları azaltmak için kullanılır. Geçiş anahtarları, güvenli ve hızlı bir oturum açma yöntemi sağlamak için de kullanılır ancak kullanıcı tarafından başlatılan doğaları, sorunsuz cihaz geçişleri üzerindeki etkilerini sınırlar.
Uber'de Android mühendisi olan Thomás Oliveira Horta, "Bazı kullanıcılar Uber uygulamasını günlük olarak kullanmıyor ancak ihtiyaç duyduklarında uygulamanın sorunsuz çalışmasını bekliyor" diyor. "Yeni Android telefonunuzda yolculuk isteğinde bulunmak için uygulamayı açtığınızda oturumunuzun kapatıldığını öğrenmek hoş olmayan, rahatsız edici bir deneyim olabilir."
Mühendisler, Kimlik Bilgilerini Geri Yükleme özelliğiyle bu açığı kapatmayı başardı. API, eski cihazda benzersiz bir jeton oluşturur. Bu jeton, kullanıcı standart ilk katılım süreci sırasında uygulama verilerini geri yüklediğinde yeni cihaza sorunsuz ve sessizce taşınır. Bu işlem, Android işletim sisteminin yerel yedekleme ve geri yükleme mekanizmasından yararlanır. Böylece, geri yükleme anahtarının uygulamanın verileriyle birlikte güvenli bir şekilde aktarılması sağlanır. Basitleştirilmiş yaklaşım, ek kullanıcı girişi veya geliştirme maliyeti olmadan Uber'in güvenlik şartlarını karşılayarak basit ve güvenli bir hesap aktarımı sağlar.
Not: Yedekleme anahtarları ve geçiş anahtarları aynı temel sunucu uygulamasını kullanır. Ancak bunları veritabanınıza kaydettiğinizde aralarında ayrım yapmanız gerekir. Kullanıcı tarafından oluşturulan geçiş anahtarları doğrudan kullanıcı tarafından yönetilebilirken kurtarma anahtarları sistem tarafından yönetilir ve kullanıcı arayüzünde gizlendiği için bu ayrım çok önemlidir.
Thomás, "Uber'in yolcu uygulamasında Kimlik Bilgilerini Geri Yükleme özelliğinin kullanılmaya başlanmasıyla birlikte tutarlı bir kullanım görmeye başladık." dedi. "Mevcut kullanıma sunma aşamasında,10.000 benzersiz günlük kullanıcı, Kimlik Bilgilerini Geri Yükleme özelliğiyle oturum açtı ve uygulamayı yeni bir cihazda ilk kez açarken sorunsuz bir deneyim yaşadı. Bu sayının, kullanıma sunma işlemini tüm kullanıcı tabanımız için genişlettiğimizde iki katına çıkmasını bekliyoruz."
Uygulamada Dikkat Edilmesi Gereken Hususlar
Thomás, "Örnek kodu ve belgeleri inceleyerek Android tarafında küçük ayarlamalarla entegrasyonu oldukça kolay bir şekilde gerçekleştirdik" dedi. "Uygulamamızda geçiş anahtarları için zaten Kimlik Bilgisi Yöneticisi kullanılıyordu ve arka uçta yalnızca birkaç küçük değişiklik yapılması gerekiyordu. Bu nedenle, yeni kimlik bilgilerini geri yükleme API'sine erişmek için Kimlik Bilgisi Yöneticisi bağımlılığını en son sürüme güncellememiz yeterli oldu. Aynı geçiş anahtarı oluşturma akışını kullanarak bir geri yükleme anahtarı oluşturduk. Uygulamamız yeni bir cihazda başlatıldığında, sessiz geçiş anahtarı alma işlemi denenerek bu anahtar proaktif olarak kontrol ediliyor. Geri yükleme anahtarı bulunursa kullanıcıyı otomatik olarak oturum açmak için hemen kullanılır ve manuel giriş atlanır."
Geliştirme süreci boyunca Uber'in mühendisleri, doğru giriş noktasını seçmekten arka uçta kimlik bilgisi yaşam döngüsünü yönetmeye kadar uygulama sırasında birkaç zorlukla karşılaştı.
Kimlik bilgilerini geri yükleme giriş noktasını seçme
Mühendisler, kurtarma için hangi kimlik bilgilerini geri yükleme giriş noktasının kullanılacağını seçerken sorunsuz bir kullanıcı deneyimi ile uygulama kolaylığı arasındaki dengeyi dikkatlice değerlendirdi. Sonuç olarak ideal dengeyi sunan bir çözüme öncelik verdiler.
Thomás, "Bu işlem, uygulama başlatılırken veya cihaz geri yükleme ve kurulumu sırasında arka planda BackupAgent kullanılarak gerçekleştirilebilir" dedi. "Arka planda giriş, kullanıcı için daha sorunsuz bir giriş noktası olsa da arka plan işlemleriyle ilgili zorluklar oluşturdu ve BackupAgent API'nin kullanılmasını gerektirdi. Bu da Uber'ınki kadar büyük bir kod tabanında karmaşıklığın artmasına neden olacaktı." Özelliği, manuel girişten çok daha hızlı olan ilk uygulama başlatma sırasında uygulamaya karar verdiler.
Sunucu tarafıyla ilgili zorlukları ele alma
Arka uç WebAuthn API'leriyle entegrasyon sırasında birkaç sunucu tarafı zorluk yaşandı. Bunun nedeni, bu API'lerin tasarımında kullanıcı doğrulaması yapmanın her zaman gerekli olacağı ve tüm kimlik bilgilerinin kullanıcının hesap ayarlarında listeleneceği varsayılmasıydı. Bu varsayımların hiçbiri, kullanıcı tarafından yönetilmeyen kimlik bilgilerini geri yükleme anahtarları için geçerli değildi.
Uber ekibi, WebAuthn hizmetlerinde küçük değişiklikler yaparak, geçiş anahtarlarını Geri Yükleme Kimlik Bilgilerinden ayırt etmek ve bunları uygun şekilde işlemek için yeni kimlik bilgisi türleri oluşturarak bu sorunu çözdü.
Kimlik bilgilerini geri yükleme yaşam döngüsünü yönetme
Uber'in mühendisleri, arka uçta kimlik bilgisi anahtarlarını yönetirken arka uç mühendisi Ryan O'Laughlin'in özel desteğiyle birlikte çeşitli zorluklarla karşılaştı:
- Sahipsiz anahtarları önleme: Kayıtlı ortak anahtarların "sahipsiz" kalmasını önlemek için silme stratejisi tanımlamak önemli bir zorluktu. Örneğin, uygulamanın kaldırılması yerel kimlik bilgisini siler ancak bu işlem arka uca sinyal göndermediği için sunucuda kullanılmayan bir anahtar bırakır.
- Anahtar geçerlilik süresini dengeleme: Anahtarların, uç durumları ele alacak kadar uzun bir "geçerlilik süresine" ihtiyacı vardı. Örneğin, bir kullanıcı yedekleme ve geri yükleme işleminden geçip eski cihazdan manuel olarak çıkış yaparsa anahtar, eski cihazdan silinir. Ancak, yeni cihazın kullanabilmesi için anahtarın sunucuda geçerli kalması gerekir.
- Birden fazla cihazı destekleme: Bir kullanıcının birden fazla cihazı olabileceği (ve bu cihazların herhangi birinden yedekleme ve geri yükleme başlatabileceği) için arka uçta kullanıcı başına birden fazla geri yükleme kimlik bilgisinin (her cihaz için bir tane) desteklenmesi gerekiyordu.
Uber'in mühendisleri, yeni kimlik bilgisi kaydı ve kimlik bilgisi kullanımına dayalı olarak sunucu tarafında anahtar silme kuralları oluşturarak bu zorlukların üstesinden geldi.
Bu özellik, iki aylık hızlı bir geliştirme ve test sürecinin ardından tasarımdan kullanıma sunulmaya kadar olan yolculuğunu tamamladı. Ardından, beş haftalık bir A/B denemesi (özelliği kullanıcılarla doğrulama süresi) sorunsuz bir şekilde tamamlandı ve tartışılmaz sonuçlar elde edildi.
Kimlik Bilgilerini Geri Yükleme ile kullanıcı kaybını önleme
Uber, yeni cihazlarda manuel girişleri ortadan kaldırarak yeni cihazlarda oturum açma akışını terk edebilecek kullanıcıları elinde tuttu. Müşteri kolaylığındaki bu artış, çok çeşitli iyileştirmelere yansıdı. İlk bakışta küçük gibi görünse de bu iyileştirmelerin etkisi, Uber'in kullanıcı tabanı ölçeğinde çok büyük oldu:
- Manuel girişlerde (SMS OTP, şifreler, sosyal giriş) %3,4 azalma.
- SMS OTP gerektiren girişlerdeki harcamalarda% 1,2 azalma.
- Uber'in erişim oranında (% of devices that successfully reached the app home screen) %0,575 artış.
- Gezileri tamamlanan cihazlarda% 0,614 artış.
Bugün, kimlik bilgilerini geri yükleme özelliği, deneme grubundaki kullanıcıların% 95'inden fazlasının kayıt olmasıyla Uber'in yolcu uygulamasının standart bir parçası olma yolunda ilerliyor.
Yeni cihaz kurulumu sırasında kullanıcılar, uygulama verilerini ve kimlik bilgilerini yedekten geri yükleyebilir. Geri yükleme için Uber'i seçtikten ve arka plan işlemi tamamlandıktan sonra uygulama, yeni cihazda ilk kez başlatıldığında kullanıcının oturumunu otomatik olarak açar.
Kimlik bilgilerini geri yüklemenin görünmez ama büyük etkisi
Uber, önümüzdeki aylarda Kimlik Bilgilerini Geri Yükleme entegrasyonunu genişletmeyi planlıyor. Denemenin sonuçlarına göre, bu değişikliğin yılda 4 milyon manuel girişin ortadan kalkacağını tahmin ediyorlar. Uygulama erişimini basitleştirerek ve önemli bir sorunlu noktayı ortadan kaldırarak her yolculukta daha memnun ve bağlı bir müşteri tabanı oluşturuyorlar.
Uber'de Başlıca Ürün Yöneticisi (Temel Kimlik) olan Matt Mueller, "Google'ın RestoreCredentials'ı entegre ederek kullanıcılarımızın yeni bir cihazda beklediği sorunsuz ve kolay deneyimi sunabildik." dedi. "Bu durum, gelirde doğrudan ölçülebilir bir artışa yol açtı. Böylece, giriş sürecindeki zorlukları azaltmanın kullanıcı etkileşimi ve elde tutma açısından önemli olduğu kanıtlandı."
Uygulamanızın giriş deneyimini iyileştirmeye hazır mısınız?
Kimlik Bilgilerini Geri Yükleme ile cihaz değiştirirken sorunsuz bir giriş deneyimi sağlamayı öğrenin ve blog yayınında daha fazla bilgi edinin. Android Studio Otter'ın en son canary sürümünde, yeni özellikler yedekleme ve geri yükleme mekanizmalarını taklit etmeye yardımcı olduğundan entegrasyonunuzu doğrulayabilirsiniz.
Kimlik Bilgisi Yöneticisi'ni yeni kullanmaya başladıysanız entegrasyon konusunda yardım almak için resmi belgelerimize, codelab'imize ve örneklerimize göz atabilirsiniz.
Okumaya devam edin
-
Örnek Olaylar
Güvenliğe ve sorunsuz deneyimlere odaklanan kapsamlı bir bulut tabanlı yazılım paketi olan Zoho, OneAuth Android uygulamasında geçiş anahtarlarını kullanarak önemli iyileştirmeler elde etti.
Niharika Arora, Joseph Lewis • Okuma süresi: 10 dakika
-
Örnek Olaylar
X, son dakika haberlerinden eğlenceye, spordan siyasete kadar dünya genelindeki yaklaşık 500 milyon kullanıcının tüm canlı yorumlarla birlikte hikayenin tamamını öğrenmesine yardımcı olmayı amaçlayan bir sosyal medya uygulamasıdır.
Niharika Arora • Okuma süresi: 3 dk.
-
Örnek Olaylar
Monzo, Birleşik Krallık'ta 15 milyon müşterisi olan ve büyümeye devam eden bir dijital bankadır. Uygulama ölçeklendikçe mühendislik ekibi, uygulamanın başlatılma süresinin iyileştirilmesi gereken kritik bir alan olduğunu belirledi ancak bunun kod tabanlarında önemli değişiklikler yapmayı gerektireceğinden endişelendi.
Ben Weiss • Okuma süresi: 2 dakika
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.