Sie können den Status über eine Weiter-URL übergeben, wenn Sie E-Mail-Aktionen für Passwörter senden setzt die E-Mail-Adresse eines Nutzers zurück oder verifiziert sie. So kann der Nutzer nach Abschluss der Aktion zur App zurückkehren. Außerdem können Sie angeben, ob der E-Mail-Aktionslink direkt über eine mobile Anwendung verarbeitet werden soll, wenn diese installiert ist, anstatt über eine Webseite.
Dies kann in den folgenden gängigen Szenarien äußerst nützlich sein:
Ein Nutzer, der derzeit nicht angemeldet ist, versucht möglicherweise, auf Inhalte zuzugreifen, die setzt voraus, dass der Nutzer angemeldet ist. Die Nutzenden haben jedoch möglicherweise und lösen den Vorgang zum Zurücksetzen des Passworts aus. Am Ende des Ablaufs erwartet der Nutzer, dass er zum Bereich der App zurückkehrt, auf den er zugreifen wollte.
Eine Anwendung darf nur Zugriff auf bestätigte Konten bieten. Für Beispiel: In einer Newsletter-App müssen Nutzer ihre E-Mail-Adresse bestätigen, Abos. Der Nutzer durchläuft die E-Mail-Bestätigung und erwartet, zur App zurückgegeben, um das Abo abzuschließen.
Grundsätzlich gilt: Wenn ein Nutzer das Passwort oder die E-Mail-Bestätigung eine Apple-App, die den Ablauf innerhalb der App abschließen soll die Möglichkeit, ist dies möglich.
Die Möglichkeit, den Status über eine Weiter-URL zu übergeben, ist eine leistungsstarke Funktion, Firebase Auth bietet eine und kann die Nutzererfahrung erheblich verbessern.
Status-/Fortsetzungs-URL in E-Mail-Aktionen übergeben
Damit eine Weiter-URL sicher übergeben werden kann, muss die Domain für die URL in der Firebase Console auf die Zulassungsliste gesetzt werden. Fügen Sie dazu im Abschnitt Authentication (Authentifizierung) diese Domain zum Liste Autorisierter Domains auf dem Tab Anmeldemethode, falls diese nicht bereits vorhanden ist.
Beim Senden muss eine ActionCodeSettings
-Instanz angegeben werden
eine E-Mail zum Zurücksetzen des Passworts oder eine Bestätigungs-E-Mail. Diese Schnittstelle verwendet die folgenden Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Legt den Link (Status-/Fortsetzungs-URL) fest, der unterschiedliche Bedeutungen hat unterschiedlichen Kontexten:
|
iOSBundleId |
String | Legt die Set-ID fest. In folgenden Fällen wird versucht, den Link in einer Apple-App zu öffnen: wenn es installiert ist. Die App muss in der Konsole registriert sein. Falls nein Die Bundle-ID ist angegeben. Der Wert dieses Felds wird auf die Bundle-ID von das Haupt-Bundle der App. |
androidPackageName |
String | Legt den Android-Paketnamen fest. Dadurch wird versucht, den Link in einem Android-App, falls sie installiert ist. |
androidInstallApp |
bool | Gibt an, ob die Android-App installiert werden soll, wenn das Gerät dies unterstützt und die App ist noch nicht installiert. Wird dieses Feld ohne ein packageName enthält, wird ein Fehler ausgegeben, der erklärt, dass der PackageName die in Verbindung mit diesem Feld bereitgestellt werden. |
androidMinimumVersion |
String | Die Mindestversion der App, die in diesem Ablauf unterstützt wird. Wenn MinimumVersion angegeben ist und eine ältere Version der App installiert wird. Der Nutzer wird zum Play Store weitergeleitet, um die App zu aktualisieren. Android-App muss in der Console registriert sein. |
handleCodeInApp |
bool | Ob der E-Mail-Aktionslink in einer mobilen App oder im Web geöffnet wird . Der Standardwert ist "false". Wenn die Richtlinie auf „true“ gesetzt ist, wird als universellen Link oder Android-App-Link gesendet und wird geöffnet von der App, falls installiert. Im falschen Fall wird der Code an die Web-Widget zuerst und dann weiter zur App, wenn installiert haben. |
dynamicLinkDomain |
String | Hiermit wird die Dynamic Link-Domain (oder ‑Subdomain) festgelegt, die für den aktuellen Link verwendet werden soll, wenn er mit Firebase Dynamic Links geöffnet werden soll. Als mehrere dynamische Creatives Linkdomains pro Projekt konfiguriert werden, enthält dieses Feld eine Option explizit auszuwählen. Wenn keine angegeben ist, wird die erste Domain wird standardmäßig verwendet. |
Das folgende Beispiel zeigt, wie ein E-Mail-Bestätigungslink gesendet wird,
wird in einer mobilen App zuerst als dynamischer Firebase-Link mit der benutzerdefinierten
Domain des dynamischen Links example.page.link
(iOS-App com.example.ios
oder Android-App com.example.android
, wobei die App
wird installiert, falls dies noch nicht geschehen ist und die Mindestversion 12
ist. Die
Deep-Link enthält die Nutzlast der Fortsetzungs-URL
https://www.example.com/?email=user@example.com
final user = FirebaseAuth.instance.currentUser;
final actionCodeSettings = ActionCodeSettings(
url: "http://www.example.com/verify?email=${user?.email}",
iOSBundleId: "com.example.ios",
androidPackageName: "com.example.android",
);
await user?.sendEmailVerification(actionCodeSettings);
Firebase Dynamic Links konfigurieren
Firebase Auth verwendet Firebase Dynamic Links beim Senden einer der in einer mobilen App geöffnet werden soll. Um diese müssen Dynamic Links in der Firebase Console konfiguriert werden.
Aktivieren Sie Firebase Dynamic Links:
Öffnen Sie in der Firebase Console den Abschnitt Dynamic Links.
Wenn Sie die Dynamic Links-Nutzungsbedingungen noch nicht akzeptiert und noch keine Dynamic Links erstellt haben holen Sie dies jetzt nach.
Notieren Sie sich, wenn Sie bereits eine Dynamic Links-Domain erstellt haben. Dynamische Links Domain sieht normalerweise so aus:
example.page.link
Sie benötigen diesen Wert, wenn Sie Ihre Apple- oder Android-App so konfigurieren, dass der eingehende Link abgefangen wird.
Android-Anwendungen konfigurieren:
- Wenn du vorhast, diese Links von deiner Android-App aus zu handhaben, Der Android-Paketname muss in der Firebase Console angegeben werden Projekteinstellungen. Außerdem werden SHA-1 und SHA-256 der Anwendung muss angegeben werden.
- Außerdem müssen Sie den Intent-Filter für den Deeplink in der Datei „AndroidManifest.xml“ konfigurieren.
- Weitere Informationen finden Sie unter Anleitung zum Empfangen von Android-Dynamic Links.
Apple-Anwendungen konfigurieren:
- Wenn Sie vorhaben, diese Links von Ihrer Anwendung aus zu verarbeiten, Die Bundle-ID muss in der Firebase Console angegeben werden Projekteinstellungen. Die App Store-ID und der Apple Developer Die Team-ID muss ebenfalls angegeben werden.
- Außerdem müssen Sie die universelle Link-Domain (FDL) als Verknüpfte Domain in den App-Funktionen.
- Wenn Sie Ihre App für iOS-Version 8 oder niedriger bereitstellen möchten, müssen Sie Ihre Paket-ID als benutzerdefiniertes Schema für eingehende URLs.
- Weitere Informationen hierzu finden Sie unter Anleitung für Dynamic Links der Apple-Plattformen
E-Mail-Aktionen in einer Webanwendung verarbeiten
Sie können angeben, ob der Aktionscode-Link von einem Web-
und dann auf eine andere Webseite oder mobile App weiterleiten.
nach erfolgreichem Abschluss, vorausgesetzt, die mobile App ist verfügbar.
Dazu wird im ActionCodeSettings
-Objekt handleCodeInApp
auf false
gesetzt. Während
eine Bundle-ID
oder Android-Paketnamen nicht erforderlich sind, können Nutzer
, um nach Eingabe des E-Mail-Aktionscodes zur angegebenen App zurückzuleiten.
Die hier verwendete Web-URL ist die im Abschnitt „Vorlagen für E-Mail-Aktionen“ konfigurierte. Für alle Projekte wird eine Standard-Konfiguration bereitgestellt. Weitere Informationen finden Sie unter Anpassen von E-Mail-Handlern, um mehr über E-Mail-Aktions-Handler anpassen.
In diesem Fall lautet der Link im Suchparameter continueURL
einen FDL-Link, dessen Nutzlast dem URL
entspricht, das in der ActionCodeSettings
angegeben ist
-Objekt enthält. Du kannst den von deiner App eingehenden Link abfangen und verarbeiten.
ohne zusätzliche Abhängigkeit, empfehlen wir die Verwendung der FDL-Clientbibliothek,
den Deeplink für Sie zu parsen.
Bei E-Mail-Aktionen wie der E-Mail-Bestätigung muss der Aktionscode aus dem
Der Abfrageparameter „oobCode
“ muss aus dem Deeplink geparst und dann angewendet werden
über applyActionCode
, damit die Änderung wirksam wird, d.h. per E-Mail, die bestätigt werden soll.
E-Mail-Aktionen in einer mobilen App verarbeiten
Sie können angeben, ob Sie den Aktionscode-Link in Ihrem
mobile App zuerst, sofern sie installiert ist. Bei Android-Apps
können Sie auch über die androidInstallApp
festlegen,
Die App soll installiert werden, wenn das Gerät dies unterstützt und dies noch nicht der Fall ist.
installiert haben.
Wenn der Link auf einem Gerät angeklickt wird, das die mobile
wird sie stattdessen über eine Webseite geöffnet.
Dazu wird im ActionCodeSettings
-Objekt handleCodeInApp
auf true
gesetzt. Die
Der Android-Paketname oder die Paket-ID der mobilen App muss ebenfalls
Falls keine mobile App verfügbar ist, wird die hier verwendete Fallback-Web-URL verwendet.
die im Abschnitt „E-Mail-Aktionsvorlagen“ konfiguriert ist. Eine Standardeinstellung ist
die für alle Projekte bereitgestellt werden. Weitere Informationen finden Sie unter
Anpassen von E-Mail-Handlern, um mehr über
E-Mail-Aktions-Handler anpassen.
In diesem Fall ist der an den Nutzer gesendete Link zur mobilen App ein FDL-Link,
payload ist die in der Konsole konfigurierte Aktionscode-URL mit der Abfrage
Parameter oobCode
, mode
, apiKey
und continueUrl
. Letzteres wird die
Original-URL
angegeben in den
ActionCodeSettings
-Objekt. Sie können zwar
von eurer App abgerufen werden, ohne dass eine weitere Abhängigkeit erforderlich ist, empfehlen wir,
mithilfe der FDL-Clientbibliothek, um den Deeplink für Sie zu parsen. Der Aktionscode kann
direkt aus einer mobilen App angewendet werden kann, ähnlich wie
wie in den
Anpassen von E-Mail-Handlern.
Bei E-Mail-Aktionen wie der E-Mail-Bestätigung muss der Aktionscode aus dem
Der Abfrageparameter „oobCode
“ muss aus dem Deeplink geparst und dann angewendet werden
über applyActionCode
, damit die Änderung wirksam wird, d.h. per E-Mail, die bestätigt werden soll.