Mit der Firebase Dynamic Links API kannst du kurze oder lange Dynamic Links erstellen. Die API unterstützt mehrere optionale Parameterstrukturen zum Erstellen von Links. Kurze Links können auch aus einem zuvor generierten langen Link erstellt werden. Firebase Dynamic Links generiert eine URL wie die folgende:
https://example.page.link/WXYZ
Das C++ SDK funktioniert sowohl für Android als auch für iOS. Für jede Plattform ist jedoch eine zusätzliche Einrichtung erforderlich.
Hinweis
Bevor Sie Firebase Dynamic Links verwenden können, müssen Sie Folgendes tun:
Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.
Wenn in Ihrem C++-Projekt bereits Firebase verwendet wird, ist es bereits für Firebase registriert und konfiguriert.
Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.
Das Hinzufügen von Firebase zu Ihrem C++-Projekt umfasst Aufgaben sowohl in der Firebase Console als auch in Ihrem geöffneten C++-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Console herunter und verschieben sie dann in Ihr C++-Projekt.
Android
- Öffnen Sie in der Firebase Console den Bereich Dynamic Links.
Wenn Sie die Nutzungsbedingungen noch nicht akzeptiert und kein URI-Präfix für Ihre Dynamic Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits ein Dynamic Links-URI-Präfix haben, notieren Sie sich dieses. Wenn Sie Dynamic Links programmatisch erstellen, müssen Sie ein Dynamic Links-URI-Präfix angeben.
- Empfohlen: Geben Sie die in Ihren Deeplinks und Fallback-Links zulässigen URL-Muster an. So verhindern Sie, dass nicht autorisierte Dritte Dynamic Links erstellen, die von Ihrer Domain zu Websites weiterleiten, die nicht Ihnen gehören. Weitere Informationen finden Sie unter URL-Muster auf die Zulassungsliste setzen.
iOS
- Öffnen Sie in der Firebase Console den Bereich Dynamic Links.
Wenn Sie die Nutzungsbedingungen noch nicht akzeptiert und kein URI-Präfix für Ihre Dynamic Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits ein Dynamic Links-URI-Präfix haben, notieren Sie sich dieses. Wenn Sie Dynamic Links programmatisch erstellen, müssen Sie eine Dynamic Links-Domain angeben.
- Die Firebase Dynamic Links-C++-Clientbibliothek verwendet benutzerdefinierte URL-Schemas unter iOS, um Links zu verarbeiten. Sie müssen Ihrer App benutzerdefinierte URL-Schemas hinzufügen, um Dynamic Links zu empfangen:
- Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen. Wählen Sie im Bereich ZIELE Ihre App aus, gehen Sie dann zum Tab Info und maximieren Sie den Bereich URL-Typen.
- Klicken Sie auf die Schaltfläche + und fügen Sie ein URL-Schema für die umgekehrte Kunden-ID hinzu. Öffnen Sie dazu die Konfigurationsdatei
und suchen Sie nach dem SchlüsselGoogleService-Info.plist REVERSED_CLIENT_ID
. Kopieren Sie den Wert dieses Schlüssels und fügen Sie ihn auf der Konfigurationsseite in das Feld URL-Schemas ein. Lassen Sie die anderen Felder leer. - Klicken Sie auf die Schaltfläche + und fügen Sie ein zweites URL-Schema hinzu. Diese entspricht der Bundle-ID Ihrer App. Wenn Ihre Bundle-ID beispielsweise
com.example.ios
lautet, geben Sie diesen Wert in das Feld URL-Schemas ein. Sie finden die Bundle-ID Ihrer App in der Projektkonfiguration auf dem Tab Allgemein (Identität > Bundle-ID).
Firebase-Konsole verwenden
Wenn Sie eine einzelne Dynamic Link generieren möchten, entweder zu Testzwecken oder damit Ihr Marketingteam ganz einfach einen Link erstellen kann, der beispielsweise in einem Beitrag in sozialen Medien verwendet werden kann, ist die einfachste Methode, die Firebase-Konsole aufzurufen und einen Link manuell anhand der Schritt-für-Schritt-Anleitung zu erstellen.
Benutzerdefinierte Domains
Wenn Sie Ihre eigene Domain anstelle einer goo.gl
- oder page.link
-Subdomain verwenden, haben Sie mehr Kontrolle über das Branding Ihrer Dynamic Link. Folgen Sie dieser Anleitung, um eine benutzerdefinierte Domain für Ihr Projekt einzurichten.
Firebase Dynamic Links API verwenden
App erstellen und initialisieren
Bevor du Dynamic Links erstellen kannst, musst du ein firebase::App
-Objekt erstellen und initialisieren.
Fügen Sie die Headerdatei für firebase::App
ein:
#include "firebase/app.h"
Der nächste Teil variiert je nach Plattform:
Android
Erstelle die firebase::App
und übergebe als Argumente die JNI-Umgebung und einen jobject
-Verweis auf die Java-Aktivität:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
Erstellen Sie firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Dynamic Links-Bibliothek initialisieren
Bevor du ein Dynamic Link erstellst, musst du zuerst die Dynamic Links-Bibliothek initialisieren:
::firebase::dynamic_links::Initialize(app, null);
Lange Dynamic Link aus Parametern erstellen
Wenn du einen Dynamic Link erstellen möchtest, erstelle ein DynamicLinkComponents-Objekt, lege eines der optionalen Mitglieder für eine zusätzliche Konfiguration fest und übergebe es an dynamic_links::GetShortLink
oder dynamic_links::GetLongLink
.
Im folgenden Minimalbeispiel wird ein langer dynamischer Link zu https://www.beispiel.de/ erstellt, der mit Ihrer Android-App com.beispiel.android.package_name und Ihrer iOS-App com.beispiel.ios geöffnet wird:
firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios"); firebase::dynamic_links::AndroidParameters android_parameters( "com.example.android.package_name"); firebase::dynamic_links::DynamicLinkComponents components( "https://www.example.com/", "example.page.link"); components.android_parameters = &android_parameters; components.ios_parameters = &ios_parameters; firebase::dynamic_links::GeneratedDynamicLink long_link = firebase::dynamic_links::GetLongLink(components);
Kurzvideo erstellen Dynamic Link
Wenn du einen kurzen dynamischen Link erstellen möchtest, übergebe einen zuvor generierten langen Link an GetShortLink
oder erstelle DynamicLinkComponents
wie oben beschrieben.
GetShortLink
kann optional einen zusätzlichen DynamicLinkOptions
-Konfigurationsparameter mit PathLength
haben. So kannst du festlegen, wie der Link generiert werden soll. Für das Generieren eines Kurzlinks ist eine Netzwerkanfrage an das Firebase-Backend erforderlich. Daher ist GetShortLink
asynchron und gibt eine Future<GeneratedLink>
zurück.
Beispiel:
firebase::dynamic_links::DynamicLinkOptions short_link_options; short_link_options.path_length = firebase::dynamic_links::kPathLengthShort; firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result = firebase::dynamic_links::GetShortLink(components, short_link_options);
Wenn Ihr Programm eine Updateschleife hat, die regelmäßig ausgeführt wird (z. B. 30 oder 60 Mal pro Sekunde), können Sie die Ergebnisse einmal pro Update prüfen:
if (result.status() == firebase::kFutureStatusComplete) { if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) { firebase::dynamic_links::GeneratedDynamicLink link = *result.result(); printf("Create short link succeeded: %s\n", link.url.c_str()); } else { printf("Created short link failed with error '%s'\n", result.error_message()); } }