Mit der Firebase Dynamic Links API können Sie kurze oder lange Dynamic Links erstellen. Die API verwendet mehrere optionale Parameterstrukturen, um Links zu erstellen. Kurzlinks 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 Ihr C++-Projekt bereits Firebase verwendet, ist es bereits für Firebase registriert und konfiguriert.
Fügen Sie das Firebase C++ SDK zu Ihrem C++-Projekt hinzu.
Wenn Sie Firebase zu Ihrem C++-Projekt hinzufügen, müssen Sie sowohl in der Firebase Console als auch in Ihrem offenen C++-Projekt Aufgaben ausführen. 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 Dynamic Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits ein Dynamic Links-URI-Präfix haben, notieren Sie es sich. Sie müssen ein Dynamic Links-URI-Präfix angeben, wenn Sie Dynamic Links programmatisch erstellen.

- Empfohlen: Geben Sie die URL-Muster an, die in Ihren Deeplinks und Fallback-Links zulässig sind. So verhindern Sie, dass Unbefugte Dynamic Links erstellen, die von Ihrer Domain zu Websites weiterleiten, die Sie nicht kontrollieren. Weitere Informationen finden Sie unter Bestimmte URL-Muster zulassen.
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 Dynamic Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits ein Dynamic Links-URI-Präfix haben, notieren Sie es sich. Sie müssen eine Dynamic Links-Domain angeben, wenn Sie Dynamic Links programmatisch erstellen.

- Die C++-Clientbibliothek von Firebase Dynamic Links verwendet benutzerdefinierte URL-Schemas unter iOS, um Links zu verarbeiten. Sie müssen Ihrer App benutzerdefinierte URL-Schemas hinzufügen, um den Empfang von Dynamic Links zu unterstützen:
- Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen. Wählen Sie im Bereich TARGETS Ihre App aus, wählen Sie dann den Tab Info aus und maximieren Sie den Bereich URL Types.
- Klicken Sie auf den Button + und fügen Sie ein URL-Schema für Ihre umgekehrte Client-ID hinzu. Öffnen Sie die Konfigurationsdatei
und suchen Sie nach dem SchlüsselGoogleService-Info.plist REVERSED_CLIENT_ID, um diesen Wert zu finden. 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 den Button + und fügen Sie ein zweites URL-Schema hinzu. Diese entspricht der Paket-ID Ihrer App. Wenn Ihre Paket-ID beispielsweise
com.example.ioslautet, geben Sie diesen Wert in das Feld URL-Schemas ein. Sie finden die Paket-ID Ihrer App in der Projektkonfiguration auf dem Tab Allgemein (Identität > Paket-Identifikator).
Firebase Console verwenden
Wenn Sie einen einzelnen Dynamic Link generieren möchten, entweder zu Testzwecken oder damit Ihr Marketingteam einen Link erstellen kann, der sich beispielsweise in einem Social-Media-Post verwenden lässt, rufen Sie am besten die Firebase-Konsole auf und erstellen Sie einen Link manuell, indem Sie das Formular Schritt für Schritt ausfüllen.
Benutzerdefinierte Domains
Sie können das Branding Ihrer Dynamic Link besser steuern, wenn Sie Ihre eigene Domain anstelle einer goo.gl- oder page.link-Subdomain verwenden. Folgen Sie dieser Anleitung, um eine benutzerdefinierte Domain für Ihr Projekt einzurichten.
Firebase Dynamic Links API verwenden
App erstellen und initialisieren
Bevor Sie Dynamic Links erstellen können, müssen Sie ein firebase::App-Objekt erstellen und initialisieren.
Fügen Sie die Header-Datei für firebase::App ein:
#include "firebase/app.h"
Der nächste Teil variiert je nach Plattform:
Android
Erstellen Sie die firebase::App und übergeben Sie die JNI-Umgebung und einen jobject-Verweis auf die Java-Aktivität als Argumente:
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 Sie ein Dynamic Link erstellen, müssen Sie zuerst die Dynamic Links-Bibliothek initialisieren:
::firebase::dynamic_links::Initialize(app, null);
Lange Dynamic Link aus Parametern erstellen
Wenn Sie einen Dynamic Link erstellen möchten, erstellen Sie ein DynamicLinkComponents-Objekt, legen Sie die optionalen Mitglieder für die zusätzliche Konfiguration fest und übergeben Sie es an dynamic_links::GetShortLink oder dynamic_links::GetLongLink.
Im folgenden Minimalbeispiel wird ein langer dynamischer Link zu https://www.example.com/ erstellt, der mit der Android-App com.example.android.package_name und der iOS-App com.example.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);
Short wird erstellt: Dynamic Link
Wenn Sie einen kurzen dynamischen Link erstellen möchten, übergeben Sie einen zuvor generierten langen Link an GetShortLink oder erstellen Sie DynamicLinkComponents wie oben beschrieben.
GetShortLink akzeptiert optional einen zusätzlichen DynamicLinkOptions-Konfigurationsparameter mit PathLength. Damit können Sie steuern, wie der Link generiert werden soll. Zum Generieren eines Kurzlinks ist eine Netzwerkanfrage an das Firebase-Backend erforderlich. Daher ist GetShortLink asynchron und gibt ein 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 Aktualisierungsschleife hat, die regelmäßig ausgeführt wird (z. B. 30- oder 60-mal pro Sekunde), können Sie die Ergebnisse einmal pro Aktualisierung 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()); } }