Dynamic Links mit C++ erstellen

Mit der Firebase Dynamic Links API können Sie kurze oder lange Dynamic Links erstellen. Die API akzeptiert 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 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-Konsole als auch in Ihrem geöffneten C++-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Konsole herunter und verschieben sie dann in Ihr C++-Projekt.

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

    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.

  3. Empfohlen: Geben Sie die in Ihren Deeplinks und Fallback-Links zulässigen URL-Muster an. 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.
  1. Öffnen Sie in der Firebase Console den Bereich Dynamic Links.
  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.

    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.

  3. 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, damit sie Dynamic Links empfangen kann:
    1. Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen. Wählen Sie im Bereich ZIELE Ihre App aus, wählen Sie dann den Tab Info aus 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. Um diesen Wert zu finden, öffnen Sie die Konfigurationsdatei GoogleService-Info.plist und suchen Sie nach dem Schlüssel 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.
    3. Klicken Sie auf die Schaltfläche + und fügen Sie ein zweites URL-Schema hinzu. Diese ist dieselbe wie die Bundle-ID Ihrer App. Wenn Ihre Bundle-ID beispielsweise com.example.ios lautet, geben Sie diesen Wert in das Feld URL-Schemas ein. Die Bundle-ID Ihrer App finden Sie 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 z. B. in einem Beitrag in den sozialen Medien verwendet werden kann, ist es am einfachsten, die Firebase-Konsole aufzurufen und eine Dynamic Link manuell über das Schritt-für-Schritt-Formular zu erstellen.

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 Headerdatei für firebase::App ein:

#include "firebase/app.h"

Der nächste Teil variiert je nach Plattform:

Erstellen Sie firebase::App und übergeben Sie die JNI-Umgebung und eine jobject-Referenz an die Java-Aktivität als Argumente:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

Erstellen Sie firebase::App:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Dynamic Links-Bibliothek initialisieren

Bevor Sie eine Dynamic Link erstellen, müssen Sie zuerst die Dynamic Links-Bibliothek initialisieren:

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

Lange Dynamic Link aus Parametern erstellen

Um einen Dynamic Link zu 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.

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

Ein kurzes Dynamic Link erstellen

Wenn Sie einen kurzen dynamischen Link erstellen möchten, übergeben Sie einen zuvor generierten langen Link an GetShortLink oder erstellen Sie DynamicLinkComponents auf dieselbe Weise wie oben.

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