Fallstudien

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

Lesezeit: 5 Minuten
Niharika Arora
Developer Relations Engineer

Uber ist das weltweit größte Ridesharing-Unternehmen. 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

In der Vergangenheit gab es 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 an das Zielgerät weitergegeben 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, sobald 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. Der 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 reibungslos 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 geringfügige 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 Anmeldedatenlebenszyklus 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 infrage kommen. 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 über BackupAgent erfolgen“, so Thomás. „Der Einstiegspunkt für die Anmeldung im Hintergrund ist für den Nutzer nahtloser, stellte uns aber vor Herausforderungen bei Hintergrundvorgängen und erforderte die Verwendung der BackupAgent API, was zu einer erhöhten Komplexität in einem so großen Code wie dem von Uber geführt hätte.“ Sie entschieden sich, 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 vor mehreren Herausforderungen bei der Verwaltung der Anmeldedatenschlüssel im Backend. 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.
  • Ausgewogene Schlüssellebensdauer: Die Schlüssel benötigten eine Lebensdauer, 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 basierend auf 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 wurde ein fünfwöchiger A/B-Test durchgeführt, um die Funktion bei den Nutzern zu validieren. Der Test verlief reibungslos und lieferte eindeutige 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, ist die Wirkung 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-Einmalpasswort 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 der Nutzer Uber für die Wiederherstellung ausgewählt hat und der Hintergrundprozess abgeschlossen ist, wird er 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 für Ihre App verbessern?

Informationen zum Einrichten einer nahtlosen Anmeldung beim Wechseln von Geräten mit „Anmeldedaten wiederherstellen“ und Blogpost In der neuesten Canary-Version von Android Studio Otter können Sie Ihre Integration validieren, da neue Funktionen beim Simulieren der Sicherungs- und Wiederherstellungsmechanismen helfen. 

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

Verfasst von:

Weiterlesen