Wenn die One Tap-Anmeldung Ihren Anforderungen entspricht, sollten Sie sie stattdessen verwenden. One Tap bietet eine aktualisierte Benutzererfahrung und andere Verbesserungen.

Android-Integrationsablauf

Um Smart Lock for Passwords in Ihre Android-App zu integrieren, müssen Sie der Anmeldeinformations-API Aufrufe zum Start- und Anmeldefluss Ihrer App hinzufügen. Das folgende Diagramm zeigt den Ablauf einer typischen Android-App, die Smart Lock für Kennwörter verwendet.

Während es viele Möglichkeiten gibt, Smart Lock für Kennwörter erfolgreich zu integrieren, und die Besonderheiten einer Integration von der Struktur und Benutzererfahrung der App abhängen, wird für die meisten Apps der folgende Ablauf empfohlen. Apps, die diesen Flow verwenden, bieten folgende Vorteile für die Benutzererfahrung:

  • Bestehende Benutzer Ihres Dienstes, für die nur ein einziger Berechtigungsnachweis gespeichert ist, werden sofort angemeldet und wechseln beim Öffnen der App direkt zur Anmeldeansicht.
  • Benutzer, bei denen mehrere Anmeldeinformationen gespeichert oder die automatische Anmeldung deaktiviert sind, müssen nur auf ein Dialogfeld antworten, bevor sie zur Anmeldeansicht der App wechseln.
  • Benutzer, die keine gespeicherten Anmeldeinformationen haben oder sich noch nicht angemeldet haben, können ihren Namen und ihre E-Mail-Adresse mit einem einzigen Tastendruck auswählen und intelligent an die Anmelde- oder Anmeldeansicht gesendet werden, wobei diese Informationen bereits ausgefüllt sind.
  • Wenn Benutzer sich abmelden, stellt die App sicher, dass sie nicht automatisch wieder angemeldet werden.

Diagramm des Smart Lock-Anmeldeflusses

Anmeldeinformationen abrufen

  1. Wenn beim Starten der App noch kein Benutzer angemeldet ist, rufen Sie CredentialsClient.request() .
  2. Wenn die Task erfolgreich ist, getResult().getCredential() die Anmeldeinformationen des Benutzers mit getResult().getCredential() und verwenden Sie sie zum getResult().getCredential() .
  3. Wenn die Task fehlschlägt und die Ausnahme eine Instanz von ResolvableApiException und getStatusCode() RESOLUTION_REQUIRED , ist eine Benutzereingabe erforderlich, um einen Berechtigungsnachweis auszuwählen. Rufen Sie startResolutionForResult() auf, um den Benutzer zur Auswahl eines gespeicherten Kontos getParcelableExtra(Credential.EXTRA_KEY) , und rufen getParcelableExtra(Credential.EXTRA_KEY) dann getParcelableExtra(Credential.EXTRA_KEY) auf, um die Anmeldeinformationen des Benutzers getParcelableExtra(Credential.EXTRA_KEY) und sich damit getParcelableExtra(Credential.EXTRA_KEY) .

Anmeldeinformationen speichern

  1. Wenn die Task mit einer ApiException und getStatusCode() SIGN_IN_REQUIRED , hat der Benutzer keine gespeicherten Anmeldeinformationen und muss sich mit Ihrem aktuellen ApiException oder getStatusCode() manuell anmelden oder anmelden. Nachdem der Benutzer die Anmeldung erfolgreich abgeschlossen hat, können Sie dem Benutzer die Möglichkeit geben, seine Anmeldeinformationen für den zukünftigen Abruf zu speichern (Schritt 5).

    Sie können dem Benutzer helfen, sich anzumelden oder sich schneller und einfacher anzumelden, indem Sie Anmeldehinweise abrufen, z. B. die E-Mail-Adresse des Benutzers. Der Benutzer kann den Hinweis auswählen und die Eingabe seiner Anmeldeinformationen überspringen. Wenn sich Benutzer in Ihrer App anmelden müssen, können Sie Hinweise sofort nach dem Fehlschlagen der ersten Anmeldeinformationsanforderung abrufen (andernfalls können Sie warten, bis der Benutzer den Anmelde- oder Anmeldefluss startet).

    1. Rufen Sie CredentialsClient.getHintPickerIntent() und starten Sie die Absicht, den Benutzer zur Auswahl eines Kontos getParcelableExtra(Credential.EXTRA_KEY) Rufen getParcelableExtra(Credential.EXTRA_KEY) dann getParcelableExtra(Credential.EXTRA_KEY) auf, um den getParcelableExtra(Credential.EXTRA_KEY) zu erhalten.
    2. Wenn die Benutzer-ID des Hinweises mit einem vorhandenen Benutzer übereinstimmt, füllen Sie das Anmeldeformular vorab aus und lassen Sie den Benutzer das Kennwort für die Anmeldung eingeben.
    3. Wenn die Benutzer-ID des Hinweises nicht mit einem vorhandenen Benutzer übereinstimmt, füllen Sie das Anmeldeformular mit der ID und dem Namen des Benutzers aus und lassen Sie den Benutzer ein neues Konto erstellen.
  2. Nachdem sich der Benutzer erfolgreich angemeldet oder ein Konto erstellt hat, speichern Sie die Benutzer-ID und das Kennwort mit CredentialsClient.save() .

    Wenn sich der Benutzer bei einem Verbundidentitätsanbieter wie Google Sign-In angemeldet hat, erstellen Sie das Credential mit der E-Mail-Adresse des Benutzers als ID und geben Sie den Identitätsanbieter mit setAccountType .

Ausloggen

  1. Wenn sich der Benutzer abmeldet, rufen Sie CredentialsClient.disableAutoSignIn() auf, um zu verhindern, dass der Benutzer sofort wieder angemeldet wird. Durch Deaktivieren der automatischen Anmeldung können Benutzer auch problemlos zwischen Konten wechseln, z. B. zwischen geschäftlichen und persönlichen Konten oder zwischen Konten auf freigegebenen Geräten - ohne die Anmeldeinformationen erneut eingeben zu müssen.

Sind Sie bereit, Smart Lock for Passwords in Ihre App zu integrieren? Fangen Sie an .