Dynamische Links in einer Flutter-App erstellen

Sie können kurze oder lange Dynamic Links mit der Firebase Dynamic Links Builder API erstellen. Diese API akzeptiert entweder einen langen dynamischen Link oder ein Objekt mit dynamischem Link -Parameter und gibt URLs wie in den folgenden Beispielen zurück:

https://example.com/link/WXYZ
https://example.page.link/WXYZ

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.

  1. Installieren und initialisieren Sie die Firebase SDKs für Flutter, wenn Sie noch nicht getan haben.

  2. Führen Sie im Stammverzeichnis Ihres Flutter-Projekts folgenden Befehl aus: Befehl zum Installieren des Dynamic Links-Plug-ins:

    flutter pub add firebase_dynamic_links
    
  3. Wenn Sie eine Android-App erstellen, öffnen Sie die Projekteinstellungen Seite der Firebase Console und stellen Sie sicher, dass Sie Ihren SHA1-Fingerabdruck Signaturschlüssel. Wenn Sie App-Links verwenden, geben Sie auch Ihren SHA-256-Schlüssel an.

  4. Öffnen Sie in der Firebase Console den Bereich Dynamic Links. .

    1. Wenn Sie noch keine Domain für Ihre dynamischen Links eingerichtet haben, klicken Sie auf die Schaltfläche Jetzt starten und folgen Sie der Anleitung.

      Notieren Sie sich, falls Sie bereits eine Dynamic Links-Domain haben. Erforderliche Schritte eine Dynamic Links-Domain angeben, wenn Sie Dynamic Links programmatisch erstellen

    2. Empfohlen: Wählen Sie unter „Mehr“ (⋮) die URL angeben Mustern, die in Ihren Deeplinks und Fallback-Links zulässig sind. Dadurch verhindern Sie, dass Unbefugte Dynamic Links erstellen, von Ihrer Domain zu Websites, die Sie nicht verwalten.

      Weitere Informationen finden Sie unter Bestimmte URL-Muster zulassen.

Wenn du einen dynamischen Link erstellen möchtest, erstelle ein neues DynamicLinkParameters-Objekt und übergebe es an buildLink() oder buildShortLink().

Mit dem folgenden minimalen Beispiel wird ein langer dynamischer Link erstellt, https://www.example.com/, das auf Android mit com.example.app.android geöffnet wird und die App com.example.app.ios für iOS:

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 du einen kurzen dynamischen Link erstellen möchtest, übergebe das DynamicLinkParameters-Objekt an buildShortLink(). Für das Erstellen des Kurzlinks 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 Dynamic Links mit Suffixen generiert, die nur ein paar Zeichen lang sein. Dadurch werden die Links zwar kompakter, die Möglichkeit, dass jemand einen gültigen Kurzlink errät. Oft ist das nicht weiter 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. Dadurch ist es sehr unwahrscheinlich, dass jemand einen gültigen Dynamic Link erraten kann. Übergeben Sie dazu ShortDynamicLinkType.unguessable mit der Methode buildShortLink() verknüpfen:

final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
    dynamicLinkParams,
    shortLinkType: ShortDynamicLinkType.unguessable,
);

Sie können die Dynamic Link Builder API verwenden, um Dynamic Links mit beliebigen der unterstützten Parameter. Siehe API-Referenz.

Im folgenden Beispiel wird ein dynamischer 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);

Parameter für dynamische Links können mit den folgenden Methoden festgelegt werden:

DynamicLink-Parameter
Link festlegen Der Link, den Ihre App öffnet. Geben Sie eine URL an, die Ihre App verarbeiten kann, in der Regel der Inhalt oder die Nutzlast der App, die App-spezifische (z. B. wenn dem Nutzer ein Gutschein gutgeschrieben oder ein Willkommensbildschirm). Dieser Link muss richtig formatiert und korrekt sein. URL-codiert. Verwenden Sie entweder HTTP oder HTTPS und dürfen keine anderen dynamischen Verknüpfen.
setDomainUriPrefix Das Präfix der URL für den dynamischen Link, das Sie in der Firebase Console finden A Die Domain für dynamische Links sieht wie die folgenden Beispiele 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, um dies zu tun die App nicht aus dem Play Store zu installieren, wenn die App nicht installiert ist, z. B. wenn Sie die mobile Webversion des Inhalts öffnen, oder eine Werbeseite für Ihre App anzuzeigen.
setMinimumVersion Der Versionscode der Mindestversion Ihrer App, mit der der Link geöffnet werden kann. Wenn es sich bei der installierten App um eine ältere Version handelt, wird der Nutzer zu im Play Store, um die App zu aktualisieren.
iOS-Parameter
setAppStoreId (App-Shop-ID) Die App-Store-ID Ihrer App, mit der Nutzer zum App Store weitergeleitet werden, wenn die App nicht installiert ist
setFallbackUrl Der Link, der geöffnet werden soll, wenn die App nicht installiert ist. Geben Sie dies an, um dies zu tun die App nicht über den App Store zu installieren, nicht installiert ist, z. B. wenn Sie die mobile Webversion des Inhalts öffnen, oder eine Werbeseite für Ihre App anzuzeigen.
setCustomScheme Das Schema für benutzerdefinierte URLs Ihrer App, falls es nicht als Schema definiert wurde Paket-ID Ihrer App
setIpadFallbackUrl Der Link, der auf iPads geöffnet werden soll, wenn die App nicht installiert ist. Geben Sie dies an für eine andere Aktion als die Installation Ihrer App aus dem App Store, nicht installiert ist, z. B. die Webversion des Inhalts öffnen oder eine Werbeseite für Ihre App anzuzeigen.
setIpadBundleId Die Paket-ID der iOS-App, die auf iPads zum Öffnen des Links verwendet werden soll. Die App muss auf der Übersichtsseite der Firebase Console mit Ihrem Projekt verknüpft sein.
setMinimumVersion Die Versionsnummer der Mindestversion Ihrer App, mit der die Version . Dieses Flag wird an deine App übergeben, wenn sie geöffnet wird, und an deine App was damit gemacht werden soll.
NavigationInfoParameters
setForcedWeiterleitungEnabled Ist sie auf „1“ gesetzt, wird die App-Vorschauseite übersprungen, wenn der dynamische Link geöffnet ist und stattdessen zur App oder zum App-Shop weitergeleitet wird. Über die App-Vorschauseite (standardmäßig aktiviert) können Nutzer zuverlässiger an das am besten geeignete Ziel weitergeleitet werden, wenn sie Dynamic Links in Apps öffnen. Wenn Sie jedoch davon ausgehen, dass ein Dynamic Link nur in Apps geöffnet werden soll, die Dynamic Links zuverlässig ohne diese Seite öffnen können, können Sie sie mit diesem Parameter deaktivieren. Dieser Parameter wirkt sich nur auf iOS-Geräten auf das Verhalten des Dynamic Links aus.
SocialMetaTagParameter
Titel festlegen Der Titel, der verwendet wird, wenn der dynamische Link in einem Beitrag in einem sozialen Netzwerk geteilt wird.
Beschreibung festlegen Die Beschreibung, die verwendet wird, wenn der dynamische Link in einem Beitrag in einem sozialen Netzwerk geteilt wird.
Bild-URL festlegen Die URL zu einem Bild, das mit diesem Link in Verbindung steht. Das Bild sollte mindestens 300 x 200 Pixel und kleiner als 300 KB.
GoogleAnalyticsParameter
setSource
setMedium
setCampaign
setTerm
setContent
Google Play Analytics-Parameter. Diese Parameter („utm_source“, „utm_medium“, „utm_campaign“, „utm_term“, „utm_content“) an den Play Store übergeben und an die Linknutzlast angehängt werden.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect-Analyseparameter Diese Parameter (`pt`, „at“, „ct“) an den App Store übergeben werden.