Dynamic Links mit C++ erstellen

Mit der Firebase Dynamic Links API können Sie kurze oder lange Dynamic Links erstellen. Die API verwendet 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.d

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 registriert und für Firebase konfiguriert.

  • Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.

Das Hinzufügen von Firebase zu Ihrem C++-Projekt umfasst Aufgaben in der Firebase Console und in Ihrem geöffneten C++-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Console herunter und verschieben sie dann in Ihr C++-Projekt.

Android

  1. Öffnen Sie in der Firebase Console den Dynamic Links Bereich.
  2. 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.

    Notieren Sie sich das Dynamic Links URI-Präfix, falls Sie bereits eines haben. Sie müssen ein Dynamic Links URI-Präfix angeben, wenn Sie Dynamic Links programmatisch erstellen.

  3. Empfohlen: Geben Sie die URL-Muster an, die in Ihren Deeplinks und Fallback-Links zulässig sind. So verhindern Sie, dass nicht autorisierte Parteien erstellen, die von Ihrer Domain zu Websites weiterleiten, die Sie nicht kontrollieren.Dynamic Links Weitere Informationen finden Sie unter Bestimmte URL-Muster zulassen.

iOS

  1. Öffnen Sie in der Firebase Console den Dynamic Links Bereich.
  2. 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.

    Notieren Sie sich das Dynamic Links URI-Präfix, falls Sie bereits eines haben. Sie müssen eine Dynamic Links Domain angeben, wenn Sie Dynamic Links programmatisch erstellen.

  3. 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, damit empfangen werden können Dynamic Links:
    1. Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen. Wählen Sie im Bereich ZIELE Ihre App aus, dann den Tab Info und maximieren Sie den Bereich URL-Typen.
    2. Klicken Sie auf die Schaltfläche + und fügen Sie ein URL-Schema für Ihre umgekehrte Client-ID hinzu. Diesen Wert finden Sie in der Konfigurationsdatei, und suchen Sie nach dem REVERSED_CLIENT_ID Schlüssel.GoogleService-Info.plist Kopieren Sie den Wert dieses Schlüssels und fügen Sie ihn auf der Konfigurationsseite in das Feld URL-Schemata ein. Lassen Sie die anderen Felder leer.
    3. Klicken Sie auf die Schaltfläche + und fügen Sie ein zweites URL-Schema hinzu. Dieses ist dasselbe wie die Paket-ID Ihrer App. Wenn Ihre Paket-ID beispielsweise com.example.ios lautet, geben Sie diesen Wert in das Feld URL-Schemata ein. Die Paket-ID Ihrer App finden Sie in der Projektkonfiguration auf dem Tab Allgemein (Identität > Paket-ID).

Firebase Console verwenden

Wenn Sie einen einzelnen Dynamic 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, ist es am einfachsten, die Firebase console zu öffnen und einen Link manuell über das Schritt-für-Schritt-Formular zu erstellen.

Benutzerdefinierte Domains

Sie können die Marke Ihres Dynamic Link's besser kontrollieren, indem Sie anstelle einer goo.gl oder page.link-Subdomain Ihre eigene Domain 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 Headerdatei für firebase::App ein:

#include "firebase/app.h"

Der nächste Schritt variiert je nach Plattform:

Android

Erstellen Sie 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 einen Dynamic Link erstellen, müssen Sie zuerst initialisieren die Dynamic Links Bibliothek:

::firebase::dynamic_links::Initialize(app, null);

Langen Dynamic Link aus Parametern erstellen

Erstellen Sie ein DynamicLinkComponents-Objekt, legen Sie alle optionalen Elemente für die zusätzliche Konfiguration fest und übergeben Sie es an dynamic_links::GetShortLink oder dynamic_links::GetLongLink, um einen Dynamic Link zu erstellen.

Im folgenden Minimalbeispiel wird ein langer Dynamic Link zu https://www.example.com/ erstellt, 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);

Kurzen Dynamic Link erstellen

Übergeben Sie einen zuvor generierten langen Link an GetShortLink oder erstellen Sie DynamicLinkComponents auf dieselbe Weise wie oben, um einen kurzen Dynamic Link zu erstellen.

GetShortLink akzeptiert optional einen zusätzlichen DynamicLinkOptions-Konfigurationsparameter mit PathLength. So können Sie steuern, wie der Link generiert werden soll. Zum Generieren eines kurzen Links ist eine Netzwerkanfrage an das Firebase Back-End 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());
  }
}