Başarılı Örnekler

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 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. Cihazların bu kadar sık el değiştirmesi, kullanıcıları elde tutma konusunda hem zorluk hem de fırsat yaratır. 

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ına kimlik bilgilerini geri yükleme desteği eklendi. 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

restore-credentials.gif

Geçmişte, normal veri yedekleme ve BlockStore gibi çözümler kullanılarak yeni cihazlarda hesap geri yükleme girişimleri yapılmıştı. Ancak her iki çözüm de kimlik doğrulama jetonlarının doğrudan kaynak cihazdan hedef cihaza paylaşılmasını gerektiriyordu. 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ği sayesinde bu açığı kapatmayı başardı. API, eski cihazda benzersiz bir jeton oluşturur. Bu jeton, kullanıcı standart oryantasyon işlemi sırasında uygulama verilerini geri yüklediğinde sorunsuz ve sessiz bir şekilde yeni cihaza 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 uygulama 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şılayan basit ve güvenli bir hesap aktarımını garanti eder.

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ğinden 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ükle ile oturum açtı ve uygulamayı yeni bir cihazda ilk kez açarken sorunsuz bir deneyim yaşadı. Bu sayının, kullanıma sunma sürecini tüm kullanıcı tabanımıza genişlettiğimizde iki katına çıkmasını bekliyoruz."

image_thomas2.png

Uygulamada Dikkat Edilmesi Gereken Hususlar

Thomás, "Örnek kodu ve belgeleri inceleyerek Android tarafında küçük ayarlamalarla entegrasyonu oldukça kolay bir şekilde tamamladık" diyor. Uygulamamız zaten geçiş anahtarları için Kimlik Bilgisi Yöneticisi'ni kullanıyordu ve arka uçta yalnızca birkaç küçük değişiklik yapılması gerekiyordu. Bu nedenle, yeni Restore Credentials API'ye erişmek için Credential Manager 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 kusursuz 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 deneyim sunsa da arka plan işlemleriyle ilgili zorluklar oluşturdu ve BackupAgent API'nin kullanılmasını gerektirdi. Bu da Uber'in kod tabanı 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ı yapılması gerektiği 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ı:

  • Bağlantısız anahtarları önleme: Kayıtlı ortak anahtarların "bağlantısız" hale gelmesini ö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ç, kullanıcı başına birden fazla geri yükleme kimlik bilgisini (her cihaz için bir tane) desteklemelidir.

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 tüm aşamaları tamamladı. Ardından, beş haftalık bir A/B denemesi (özelliğin kullanıcılarla doğrulanma 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 bir cihazda oturum açma akışını terk edebilecek kullanıcıları elde tuttu. Müşteri kolaylığındaki bu artış, ç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'si gerektiren girişlerdeki giderlerde% 1,2 azalma.
  • Uber'in erişim oranında (% olarak, uygulama ana ekranına başarıyla ulaşan cihaz sayısı) %0,575 artış.
  • Tamamlanan gezilere sahip 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. 

uber-devices.png

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.

image_thomas.png

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ş Ü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" diyor. "Bu durum, gelirde doğrudan ölçülebilir bir artışa yol açtı ve giriş sürecindeki zorlukları azaltmanın kullanıcı etkileşimi ve elde tutma açısından önemli olduğunu kanıtladı."

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.

Yazan:
Okumaya devam et