Mit der Firebase Dynamic Links API können Sie kurze oder lange dynamische Links erstellen. Die API benötigt mehrere optionale Parameterstrukturen zum Erstellen von Links. Kurzlinks können auch aus einem zuvor generierten Langlink 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, wobei für jede Plattform eine zusätzliche Einrichtung erforderlich ist.d
Bevor Sie beginnen
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 Firebase bereits verwendet, ist es bereits für Firebase registriert und konfiguriert.
Fügen Sie das Firebase C++ SDK zu Ihrem C++-Projekt hinzu.
Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem offenen C++-Projekt erfordert (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr C++-Projekt).
Android
- Öffnen Sie in der Firebase-Konsole den Abschnitt „Dynamische Links“ .
Wenn Sie die Nutzungsbedingungen noch nicht akzeptiert und ein URI-Präfix für Ihre dynamischen Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits über ein Dynamic Links-URI-Präfix verfügen, notieren Sie sich dieses. Sie müssen ein URI-Präfix für dynamische Links angeben, wenn Sie dynamische Links programmgesteuert erstellen.
- Empfohlen : Geben Sie die URL-Muster an, die in Ihren Deep-Links und Fallback-Links zulässig sind. Auf diese Weise verhindern Sie, dass Unbefugte dynamische Links erstellen, die von Ihrer Domain auf Websites weiterleiten, die nicht von Ihnen kontrolliert werden. Siehe Whitelist-URL-Muster .
iOS
- Öffnen Sie in der Firebase-Konsole den Abschnitt „Dynamische Links“ .
Wenn Sie die Nutzungsbedingungen noch nicht akzeptiert und ein URI-Präfix für Ihre dynamischen Links festgelegt haben, tun Sie dies, wenn Sie dazu aufgefordert werden.
Wenn Sie bereits über ein Dynamic Links-URI-Präfix verfügen, notieren Sie sich dieses. Sie müssen eine Dynamic Links-Domäne angeben, wenn Sie Dynamic Links programmgesteuert erstellen.
- Die Firebase Dynamic Links C++-Clientbibliothek verwendet benutzerdefinierte URL-Schemata unter iOS, um Links zu verarbeiten. Sie müssen Ihrer App benutzerdefinierte URL-Schemata hinzufügen, um den Empfang dynamischer Links zu unterstützen:
- Um Ihre Projektkonfiguration zu öffnen, doppelklicken Sie auf den Projektnamen in der linken Baumansicht. Wählen Sie Ihre App im Abschnitt „ZIELE“ aus, wählen Sie dann die Registerkarte „Info“ aus und erweitern Sie den Abschnitt „URL-Typen“ .
- Klicken Sie auf die Schaltfläche „+“ und fügen Sie ein URL-Schema für Ihre umgekehrte Client-ID hinzu. Um diesen Wert zu finden, öffnen Sie 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 in das Feld „URL-Schemata“ auf der Konfigurationsseite ein. Lassen Sie die anderen Felder leer. - Klicken Sie auf die Schaltfläche „ +“ und fügen Sie ein zweites URL-Schema hinzu. Diese ist mit der Bundle-ID Ihrer App identisch. Wenn Ihre Bundle-ID beispielsweise
com.example.ios
lautet, geben Sie diesen Wert in das Feld „URL-Schemata“ ein. Sie finden die Bundle-ID Ihrer App auf der Registerkarte „Allgemein“ der Projektkonfiguration ( Identität > Bundle-ID ).
Verwenden Sie die Firebase-Konsole
Wenn Sie einen einzelnen dynamischen Link generieren möchten, entweder zu Testzwecken oder damit Ihr Marketingteam ganz einfach einen Link erstellen kann, der beispielsweise in einem Social-Media-Beitrag verwendet werden kann, wäre es am einfachsten, die Firebase-Konsole aufzurufen und einen zu erstellen manuell dem Schritt-für-Schritt-Formular folgen.
Benutzerdefinierte Domänen
Sie können das Branding Ihres Dynamic Links besser steuern, indem Sie Ihre eigene Domain anstelle einer goo.gl
oder page.link
Subdomain verwenden. Befolgen Sie diese Anweisungen , um eine benutzerdefinierte Domäne für Ihr Projekt einzurichten.
Verwendung der Firebase Dynamic Links API
App erstellen und initialisieren
Bevor Sie dynamische 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 dabei 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 die firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Initialisieren Sie die Dynamic Links-Bibliothek
Bevor Sie einen Dynamic Link erstellen, müssen Sie zunächst die Dynamic Links-Bibliothek initialisieren :
::firebase::dynamic_links::Initialize(app, null);
Erstellen eines langen dynamischen Links aus Parametern
Um einen dynamischen Link zu erstellen, erstellen Sie ein DynamicLinkComponents-Objekt, legen Sie eines der optionalen Mitglieder für die zusätzliche Konfiguration fest und übergeben Sie es an dynamic_links::GetShortLink
oder dynamic_links::GetLongLink
.
Das folgende Minimalbeispiel erstellt einen langen dynamischen Link zu https://www.example.com/, der mit Ihrer Android-App com.example.android.package_name und Ihrer 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);
Erstellen eines kurzen dynamischen Links
Um einen kurzen dynamischen Link zu erstellen, übergeben Sie einen zuvor generierten langen Link an GetShortLink
oder erstellen Sie DynamicLinkComponents
auf die gleiche Weise wie oben.
GetShortLink
akzeptiert optional einen zusätzlichen DynamicLinkOptions
Konfigurationsparameter mit PathLength
; Dadurch können Sie steuern, wie der Link generiert werden soll. Das Generieren eines Kurzlinks erfordert eine Netzwerkanforderung an das Firebase-Backend, daher ist GetShortLink
asynchron und gibt einen Future<GeneratedLink>
zurück.
Zum 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 über eine Aktualisierungsschleife verfügt, die regelmäßig ausgeführt wird (z. B. 30 oder 60 Mal pro Sekunde), können Sie die Ergebnisse einmal pro Aktualisierung überprü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()); } }