Fallstudien

So reduziert Uber manuelle Log-ins mit der Restore Credentials API um 4 Millionen pro Jahr

Lesezeit: 5 Minuten

Uber ist das weltweit größte Unternehmen für Mitfahrdienste. Es transportiert Millionen von Menschen und bietet außerdem Essenslieferungen, Transportdienste für das Gesundheitswesen und Frachtlogistik an. Ein einfacher Zugriff ist entscheidend für den Erfolg. Wenn Nutzer zu einem neuen Gerät wechseln, erwarten sie einen nahtlosen Übergang, ohne sich noch einmal in der Uber App anmelden oder die SMS-basierte Einmalpasswort-Authentifizierung durchlaufen zu müssen. Dieser häufige Geräteumsatz stellt eine Herausforderung dar, bietet aber auch die Möglichkeit, Nutzer langfristig zu binden. 

Um die Kontinuität für die Nutzer zu gewährleisten, griffen die Entwickler von Uber auf die Funktion Anmeldedaten wiederherstellen zurück. Diese ist besonders wichtig, da 40% der Menschen in den USA jedes Jahr ihr Smartphone ersetzen. Nach einer Analyse der Nutzernachfrage und der Entwicklung von Prototypen wurde die Unterstützung für das Wiederherstellen von Anmeldedaten in der Uber-Fahrer-App eingeführt. Um zu prüfen, ob das Wiederherstellen von Anmeldedaten die Reibung bei erneuten Anmeldungen verringert, führte das Uber-Team fünf Wochen lang einen erfolgreichen A/B-Test durch. Die Integration führte zu einer Verringerung der manuellen Anmeldungen, die bei der großen Nutzerbasis von Uber schätzungsweise 4 Millionen manuelle Anmeldungen pro Jahr einsparen.

Anmeldeaufwand mit „Anmeldedaten wiederherstellen“ reduzieren

restore-credentials.gif

Es gab in der Vergangenheit Versuche, Konten auf neuen Geräten wiederherzustellen, indem Lösungen wie die regelmäßige Datensicherung und BlockStore verwendet wurden. Beide Lösungen erforderten jedoch, dass Authentifizierungstokens direkt vom Quellgerät auf das Zielgerät übertragen wurden. Da Tokeninformationen sehr vertraulich sind, werden diese Lösungen nur in begrenztem Umfang verwendet, um Anmeldefelder auf dem Zielgerät vorab auszufüllen und einige Reibungspunkte während der Anmeldevorgänge zu reduzieren. Passkeys werden auch verwendet, um eine sichere und schnelle Anmeldemethode bereitzustellen. Da sie jedoch vom Nutzer initiiert werden, ist ihr Einfluss auf nahtlose Geräteübergänge begrenzt.

„Einige Nutzer verwenden die Uber App nicht täglich, erwarten aber, dass sie funktioniert, wenn sie sie brauchen“, so Thomás Oliveira Horta, Android-Entwickler bei Uber. „Wenn Sie feststellen, dass Sie abgemeldet sind, wenn Sie die App öffnen, um auf Ihrem neuen Android-Smartphone eine Fahrt zu bestellen, kann das unangenehm und abschreckend sein.“

Mit Anmeldedaten wiederherstellen konnten die Techniker diese Lücke schließen. Die API generiert auf dem alten Gerät ein eindeutiges Token, das nahtlos und im Hintergrund auf das neue Gerät übertragen wird, wenn der Nutzer seine App-Daten während des Standard-Onboarding-Prozesses wiederherstellt. Bei diesem Vorgang wird der native Sicherungs- und Wiederherstellungsmechanismus von Android OS verwendet, um die sichere Übertragung des Wiederherstellungsschlüssels zusammen mit den Daten der App zu gewährleisten. Dieser optimierte Ansatz garantiert eine einfache und sichere Kontoübertragung, die den Sicherheitsanforderungen von Uber entspricht, ohne dass zusätzliche Nutzereingaben oder Entwicklungsaufwand erforderlich sind.

Hinweis:Für das Wiederherstellen von Schlüsseln und Passkeys wird dieselbe zugrunde liegende Serverimplementierung verwendet. Wenn Sie sie jedoch in Ihrer Datenbank speichern, müssen Sie zwischen ihnen unterscheiden. Diese Unterscheidung ist wichtig, da von Nutzern erstellte Passkeys direkt vom Nutzer verwaltet werden können, während Wiederherstellungsschlüssel vom System verwaltet werden und in der Benutzeroberfläche ausgeblendet sind.

„Seit der Einführung von ‚Anmeldedaten wiederherstellen‘ in der Uber-Fahrer-App sehen wir eine konsistente Nutzung“, so Thomás. „In der aktuellen Einführungsphase haben sich durchschnittlich 10.000 einzelne Nutzer pro Tag mit ‚Anmeldedaten wiederherstellen‘ angemeldet. Sie konnten die App auf einem neuen Gerät problemlos zum ersten Mal öffnen. Wir gehen davon aus, dass sich diese Zahl verdoppeln wird, sobald wir die Funktion für alle Nutzer einführen.“

image_thomas2.png

Hinweise zur Implementierung

„Die Integration war ziemlich einfach. Wir mussten nur ein paar Anpassungen auf Android-Seite vornehmen, indem wir dem Beispielcode und der Dokumentation gefolgt sind“, so Thomás. „In unserer App wurde bereits Credential Manager für Passkeys verwendet und das Backend musste nur geringfügig angepasst werden. Wir mussten also nur die Credential Manager-Abhängigkeit auf die neueste Version aktualisieren, um Zugriff auf die neue Restore Credentials API zu erhalten. Wir haben einen Wiederherstellungsschlüssel über denselben Passkey-Erstellungsprozess erstellt. Wenn unsere App auf einem neuen Gerät gestartet wird, sucht sie proaktiv nach diesem Schlüssel, indem sie versucht, einen Passkey im Hintergrund abzurufen. Wenn der Wiederherstellungsschlüssel gefunden wird, wird er sofort verwendet, um den Nutzer automatisch anzumelden. Eine manuelle Anmeldung ist dann nicht mehr erforderlich.“

Während des Entwicklungsprozesses mussten die Entwickler von Uber einige Herausforderungen bei der Implementierung bewältigen, von der Auswahl des richtigen Einstiegspunkts bis hin zur Verwaltung des Anmeldedaten-Lebenszyklus im Backend.

Einstiegspunkt „Anmeldedaten wiederherstellen“ auswählen

Die Entwickler haben sorgfältig abgewogen, welche Kompromisse zwischen einer nahtlosen Nutzerfreundlichkeit und einer einfachen Implementierung bei der Auswahl des Einstiegspunkts „Anmeldedaten wiederherstellen“ für die Wiederherstellung eingegangen werden müssen. Letztendlich entschieden sie sich für eine Lösung, die ein ideales Gleichgewicht bot.

„Das kann beim Starten der App oder im Hintergrund während der Wiederherstellung und Einrichtung des Geräts mit BackupAgent erfolgen“, so Thomás. „Der Einstiegspunkt für die Anmeldung im Hintergrund ist für den Nutzer nahtloser, aber er stellte uns vor Herausforderungen bei Hintergrundvorgängen und erforderte die Verwendung der BackupAgent API, was zu einer erhöhten Komplexität in einer so großen Codebasis wie der von Uber geführt hätte.“ Sie beschlossen, die Funktion beim ersten App-Start zu implementieren, was deutlich schneller war als die manuelle Anmeldung.

Serverseitige Probleme beheben 

Bei der Integration in die Backend-WebAuthn-APIs traten einige serverseitige Probleme auf, da bei ihrem Design davon ausgegangen wurde, dass immer eine Nutzerbestätigung erforderlich ist und dass alle Anmeldedaten in den Kontoeinstellungen eines Nutzers aufgeführt werden. Keine dieser Annahmen traf auf die nicht vom Nutzer verwalteten Schlüssel für das Wiederherstellen von Anmeldedaten zu.

Das Uber-Team hat das Problem behoben, indem es geringfügige Änderungen an den WebAuthn-Diensten vorgenommen und neue Anmeldedatentypen erstellt hat, um Passkeys von Wiederherstellungsanmeldedaten zu unterscheiden und sie entsprechend zu verarbeiten.

Lebenszyklus von „Anmeldedaten wiederherstellen“ verwalten

Die Ingenieure von Uber standen bei der Verwaltung der Anmeldedatenschlüssel im Backend vor mehreren Herausforderungen. Backend-Ingenieur Ryan O’Laughlin leistete dabei spezielle Unterstützung:

  • Verhindern von verwaisten Schlüsseln: Eine große Herausforderung bestand darin, eine Strategie zum Löschen registrierter öffentlicher Schlüssel zu definieren, um zu verhindern, dass sie „verwaist“ werden. Wenn Sie die App beispielsweise deinstallieren, wird die lokale Anmeldedaten gelöscht. Da diese Aktion jedoch nicht an das Backend gesendet wird, verbleibt ein nicht verwendeter Schlüssel auf dem Server.
  • Ausgewogenheit der Schlüssellebensdauer: Die Schlüssel benötigten eine „Gültigkeitsdauer (TTL)“, die lang genug war, um Grenzfälle zu bewältigen. Wenn ein Nutzer beispielsweise eine Sicherung und Wiederherstellung durchführt und sich dann manuell vom alten Gerät abmeldet, wird der Schlüssel vom alten Gerät gelöscht. Der Schlüssel muss jedoch auf dem Server gültig bleiben, damit das neue Gerät ihn weiterhin verwenden kann.
  • Unterstützung mehrerer Geräte: Da ein Nutzer mehrere Geräte haben kann und eine Sicherung und Wiederherstellung von jedem Gerät aus starten kann, musste das Backend mehrere Wiederherstellungsanmeldedaten pro Nutzer unterstützen (eine für jedes Gerät).

Die Entwickler von Uber haben diese Herausforderungen bewältigt, indem sie Regeln für das serverseitige Löschen von Schlüsseln auf Grundlage der Registrierung und Verwendung neuer Anmeldedaten festgelegt haben.

Die Funktion wurde in einem schnellen zwei Monate dauernden Entwicklungs- und Testprozess von der Konzeption bis zur Bereitstellung umgesetzt. Danach verlief ein fünfwöchiger A/B-Test (Zeit, um die Funktion mit Nutzern zu validieren) reibungslos und lieferte unbestreitbare Ergebnisse.  

Nutzerabwanderung mit „Anmeldedaten wiederherstellen“ verhindern

Durch die Eliminierung manueller Anmeldungen auf neuen Geräten konnte Uber Nutzer binden, die den Anmeldevorgang auf einem neuen Gerät sonst möglicherweise abgebrochen hätten. Diese Steigerung der Nutzerfreundlichkeit spiegelte sich in einer Vielzahl von Verbesserungen wider. Auch wenn sie auf den ersten Blick gering erscheinen, sind die Auswirkungen bei der Größe der Nutzerbasis von Uber enorm: 

  • 3,4% weniger manuelle Anmeldungen (SMS-OTP, Passwörter, Social Login).
  • 1,2% weniger Ausgaben für Log-ins, für die ein SMS-OTP erforderlich ist.
  • Die Zugriffsrate von Uber (Prozentsatz der Geräte, auf denen der Startbildschirm der App erfolgreich aufgerufen wurde) stieg um 0,575 %.
  • 0,614% mehr Geräte mit abgeschlossenen Fahrten 

Heute ist „Anmeldedaten wiederherstellen“ auf dem besten Weg, ein Standardteil der Uber-Fahrer-App zu werden. Über 95% der Nutzer in der Testgruppe haben sich registriert. 

uber-devices.png

Bei der Einrichtung eines neuen Geräts können Nutzer App-Daten und Anmeldedaten aus einer Sicherung wiederherstellen. Nachdem Sie Uber für die Wiederherstellung ausgewählt haben und der Hintergrundprozess abgeschlossen ist, wird der Nutzer beim ersten Start der App auf dem neuen Gerät automatisch angemeldet.

image_thomas.png

Die unsichtbaren, aber massiven Auswirkungen von „Anmeldedaten wiederherstellen“

In den kommenden Monaten plant Uber, die Integration von „Anmeldedaten wiederherstellen“ auszuweiten. Auf Grundlage der Testergebnisse schätzen sie, dass durch die Änderung jährlich 4 Millionen manuelle Log-ins wegfallen. Durch die Vereinfachung des App-Zugriffs und die Beseitigung eines wichtigen Pain Points bauen sie aktiv eine zufriedenere und treuere Kundenbasis auf – Fahrt für Fahrt.

„Durch die Integration von RestoreCredentials von Google konnten wir die nahtlose ‚Funktioniert einfach‘-Erfahrung bieten, die unsere Nutzer auf einem neuen Gerät erwarten“, so Matt Mueller, Lead Product Manager (Core Identity) bei Uber. „Das führte direkt zu einem messbaren Umsatzanstieg. Das zeigt, dass die Reduzierung von Anmeldehürden entscheidend für die Nutzerinteraktion und ‑bindung ist.“

Möchten Sie die Anmeldung in Ihrer App verbessern?

Informationen zum Wiederherstellen von Anmeldedaten und zum Ermöglichen einer nahtlosen Anmeldung beim Wechseln von Geräten sowie weitere Informationen finden Sie im Blogbeitrag. In der neuesten Canary-Version von Android Studio Otter können Sie Ihre Integration validieren. Neue Funktionen helfen dabei, die Sicherungs- und Wiederherstellungsmechanismen zu simulieren. 

Wenn Sie den Credential Manager noch nicht kennen, finden Sie in unserer offiziellen Dokumentation, im Codelab und in den Beispielen Hilfe bei der Integration.

Geschrieben von:
Weiterlesen