Dynamic Links mit C++ erstellen

Mit der Firebase Dynamic Links API kannst du kurze oder lange Dynamic Links erstellen. Die API verwendet zum Erstellen von Links mehrere optionale Parameterstrukturen. 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

  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 das URI-Präfix Dynamic Links haben, notieren Sie es sich. Wenn Sie Dynamic Links programmatisch erstellen, müssen Sie ein Dynamic Links-URI-Präfix angeben.

  3. 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

  1. Öffnen Sie in der Firebase-Konsole den Abschnitt 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 das URI-Präfix Dynamic Links haben, notieren Sie es sich. Wenn Sie Dynamic Links programmatisch erstellen, müssen Sie eine Dynamic Links-Domain angeben.

  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, um Dynamic Links zu empfangen:
    1. 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.
    2. 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 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 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 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 hinzu:

#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 eine 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 minimalen Beispiel 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);

Dynamic Link wird erstellt

Wenn du einen kurzen dynamischen Link erstellen möchtest, übergebe einen zuvor generierten langen Link an GetShortLink oder erstelle DynamicLinkComponents wie oben beschrieben.

Für GetShortLink kann optional ein zusätzlicher DynamicLinkOptions-Konfigurationsparameter mit PathLength verwendet werden. So können Sie steuern, 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());
  }
}