Mit der Firebase Dynamic Links Builder API können Sie kurze oder lange Dynamic Links erstellen. Diese API akzeptiert entweder einen langen dynamischen Link oder ein Objekt mit Parametern für dynamische Links und gibt URLs wie in den folgenden Beispielen zurück:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Firebase und das Dynamic Links SDK einrichten
Bevor Sie Dynamic Links in Ihrer Android-App erstellen können, müssen Sie das Firebase SDK einbinden. Wenn Ihre App für den Empfang von Dynamic Links eingerichtet ist, haben Sie diese Schritte bereits ausgeführt und können diesen Abschnitt überspringen.
Installieren und initialisieren Sie die Firebase SDKs für Flutter, falls noch nicht geschehen.
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Dynamic Links-Plug-in zu installieren:
flutter pub add firebase_dynamic_links
Wenn Sie eine Android-App entwickeln, öffnen Sie in der Firebase Console die Seite Projekteinstellungen und prüfen Sie, ob Sie Ihren SHA-1-Signaturschlüssel angegeben haben. Wenn Sie App-Links verwenden, geben Sie auch Ihren SHA-256-Schlüssel an.
Öffnen Sie in der Firebase Console den Bereich Dynamic Links.
Wenn Sie noch keine Domain für Ihre Dynamic Links eingerichtet haben, klicken Sie auf die Schaltfläche Erste Schritte und folgen Sie der Anleitung.
Wenn Sie bereits eine Dynamic Links-Domain haben, notieren Sie sie sich. Sie müssen eine Dynamic-Links-Domain angeben, wenn Sie Dynamic Links programmatisch erstellen.
Empfohlen: Geben Sie im Menü „Mehr“ (⋮) die in Ihren Deeplinks und Fallback-Links zulässigen URL-Muster an. So verhindern Sie, dass Unbefugte Dynamic Links erstellen, die von Ihrer Domain zu Websites weiterleiten, die Sie nicht verwalten.
Weitere Informationen finden Sie unter Bestimmte URL-Muster zulassen.
Dynamic Link aus Parametern erstellen
Wenn Sie einen Dynamic Link erstellen möchten, erstellen Sie ein neues DynamicLinkParameters
-Objekt und übergeben Sie es an buildLink()
oder buildShortLink()
.
Im folgenden Minimalbeispiel wird ein langer dynamischer Link zu https://www.example.com/
erstellt, der unter Android mit com.example.app.android
und unter iOS mit der App com.example.app.ios
geöffnet wird:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
Wenn Sie einen kurzen dynamischen Link erstellen möchten, übergeben Sie das DynamicLinkParameters
-Objekt an buildShortLink()
. Für das Erstellen des kurzen Links ist ein Netzwerkaufruf erforderlich.
Beispiel:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Standardmäßig werden kurze dynamische Links mit Suffixen generiert, die nur wenige Zeichen lang sind. Dadurch werden Links zwar kompakter, aber es besteht auch die Möglichkeit, dass jemand einen gültigen Shortlink errät. Oft ist das auch nicht schlimm, da der Link zu öffentlichen Informationen führt.
Wenn Ihre Kurzlinks jedoch zu nutzerspezifischen Informationen führen, sollten Sie längere Links mit 17‑stelligen Suffixen erstellen, damit es sehr unwahrscheinlich ist, dass jemand einen gültigen Dynamic Link erraten kann. Übergeben Sie dazu ShortDynamicLinkType.unguessable
an die buildShortLink()
-Methode:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parameter für Dynamic Links
Mit der Dynamic Link Builder API können Sie Dynamic Links mit beliebigen unterstützten Parametern erstellen. Siehe API-Referenz.
Im folgenden Beispiel wird ein Dynamic Link mit mehreren gängigen Parametern erstellt:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Sie können Dynamic Link-Parameter mit den folgenden Methoden festlegen:
Dynamic Link-Parameter | |
---|---|
setLink | Der Link, den Ihre App öffnet. Geben Sie eine URL an, die Ihre App verarbeiten kann. Das ist in der Regel der Inhalt oder die Nutzlast der App, die eine appspezifische Logik auslöst, z. B. das Gutschreiben eines Gutscheins oder das Anzeigen eines Begrüßungsbildschirms. Dieser Link muss eine korrekt formatierte URL sein, die richtig URL-codiert ist und entweder HTTP oder HTTPS verwendet. Außerdem darf es sich nicht um einen weiteren dynamischen Link handeln. |
setDomainUriPrefix | Ihr Dynamic Link-URL-Präfix, das Sie in der Firebase Console finden. Eine Dynamic Link-Domain sieht so aus:
https://example.com/link https://example.page.link |
AndroidParameters | |
---|---|
setFallbackUrl | Der Link, der geöffnet werden soll, wenn die App nicht installiert ist. Geben Sie dies an, wenn Sie etwas anderes als die Installation Ihrer App aus dem Play Store ausführen möchten, wenn die App nicht installiert ist, z. B. die mobile Webversion der Inhalte öffnen oder eine Werbeseite für Ihre App anzeigen. |
setMinimumVersion | Der Versionscode der Mindestversion Ihrer App, mit der der Link geöffnet werden kann. Wenn die installierte App eine ältere Version ist, wird der Nutzer zum Play Store weitergeleitet, um die App zu aktualisieren. |
IosParameters | |
---|---|
setAppStoreId | Die App-Store-ID Ihrer App, die verwendet wird, um Nutzer zum App Store weiterzuleiten, wenn die App nicht installiert ist |
setFallbackUrl | Der Link, der geöffnet werden soll, wenn die App nicht installiert ist. Geben Sie dies an, wenn Sie etwas anderes als die Installation Ihrer App aus dem App Store auslösen möchten, wenn die App nicht installiert ist. Sie können beispielsweise die mobile Webversion der Inhalte öffnen oder eine Werbeseite für Ihre App anzeigen. |
setCustomScheme | Das benutzerdefinierte URL-Schema Ihrer App, falls es sich von der Bundle-ID Ihrer App unterscheidet |
setIpadFallbackUrl | Der Link, der auf iPads geöffnet werden soll, wenn die App nicht installiert ist. Geben Sie dies an, um etwas anderes als die Installation Ihrer App aus dem App Store auszuführen, wenn die App nicht installiert ist, z. B. die Webversion der Inhalte zu öffnen oder eine Werbeseite für Ihre App anzuzeigen. |
setIpadBundleId | Die Bundle-ID der iOS-App, die auf iPads zum Öffnen des Links verwendet werden soll. Die App muss über die Übersichtsseite der Firebase Console mit Ihrem Projekt verbunden sein. |
setMinimumVersion | Die Versionsnummer der Mindestversion Ihrer App, mit der der Link geöffnet werden kann. Dieses Flag wird an Ihre App übergeben, wenn sie geöffnet wird. Ihre App muss entscheiden, was damit geschehen soll. |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | Wenn der Wert auf „1“ gesetzt ist, wird die App-Vorschauseite übersprungen, wenn der dynamische Link geöffnet wird. Stattdessen wird zur App oder zum Store weitergeleitet. Auf der App-Vorschauseite (standardmäßig aktiviert) können Nutzer zuverlässiger zum richtigen Ziel weitergeleitet werden, wenn sie Dynamic Links in Apps öffnen. Wenn Sie jedoch davon ausgehen, dass ein Dynamic Link nur in Apps geöffnet wird, die Dynamic Links auch ohne diese Seite zuverlässig öffnen können, können Sie sie mit diesem Parameter deaktivieren. Dieser Parameter wirkt sich nur auf iOS auf das Verhalten des Dynamic Link aus. |
SocialMetaTagParameters | |
---|---|
setTitle | Der Titel, der verwendet werden soll, wenn der Dynamic Link in einem Social-Media-Beitrag geteilt wird. |
setDescription | Die Beschreibung, die verwendet werden soll, wenn der Dynamic Link in einem Social-Media-Beitrag geteilt wird. |
setImageUrl | Die URL zu einem Bild, das mit diesem Link in Verbindung steht. Das Bild sollte mindestens 300 × 200 Pixel groß und weniger als 300 KB schwer sein. |
GoogleAnalyticsParameters | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Google Play-Analyseparameter Diese Parameter (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) werden an den Play Store übergeben und an die Link-Payload angehängt. |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
iTunes Connect-Analyseparameter. Diese Parameter („pt“, „at“, „ct“) werden an den App Store übergeben. |