Wenn Sie die Firebase Dynamic Links erhalten möchten, die Sie erstellt haben,
müssen Sie das Dynamic Links SDK in Ihre App einbinden und ein
firebase::dynamic_links::Listener
-Objekt erstellen, das die
OnDynamicLinkReceived
virtuelle Funktion implementiert.
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 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.
Benutzerdefinierte URL-Schemes hinzufügen (nur für iOS)
Die Firebase Dynamic Links C++-Clientbibliothek verwendet benutzerdefinierte URL-Schemes unter iOS, um Links zu verarbeiten. Sie müssen Ihrer App benutzerdefinierte URL-Schemes hinzufügen, damit Dynamic Linksempfangen werden können.
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.
Klicken Sie auf die Schaltfläche + und fügen Sie dann ein URL-Scheme für Ihre umgekehrte Client-ID hinzu. So finden Sie diesen Wert:
Öffnen Sie die
Konfigurationsdatei und suchen Sie nach demGoogleService-Info.plist REVERSED_CLIENT_IDSchlüssel.Kopieren Sie den Wert dieses Schlüssels und fügen Sie ihn auf der Konfigurationsseite in das Feld URL-Schemes ein.
Lassen Sie die anderen Felder leer.
Klicken Sie auf die Schaltfläche + und fügen Sie ein zweites URL-Scheme hinzu. Dieses ist dasselbe wie die Bundle-ID Ihrer App.
Wenn Ihre Bundle-ID beispielsweise
com.example.iosist, geben Sie diesen Wert in das Feld URL-Schemes ein.Die Bundle-ID Ihrer App finden Sie in der Projektkonfiguration auf dem Tab Allgemein (Identität > Bundle-ID).
Dynamic Link empfangen
App erstellen und initialisieren
Bevor Sie nach empfangenen Dynamic Links suchen 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"));
Listener implementieren, um nach Dynamic Links zu suchen
Wenn Sie nach einem empfangenen Dynamic Link suchen möchten, implementieren und verwenden Sie die
firebase::dynamic_links::Listener
Klasse.
Fügen Sie die Headerdatei für den Empfang von Dynamic Links ein:
#include "firebase/dynamic_links.h"
Initialisieren Sie die Dynamic Links Bibliothek:
::firebase::dynamic_links::Initialize(app, null);
Erstellen Sie ein Objekt, das
firebase::dynamic_links::Listener implementiert,
und stellen Sie es der Dynamic Links Bibliothek mit
SetListener() zur Verfügung,
oder übergeben Sie es als zweites Argument an
Initialize.
Damit Dynamic Links empfangen werden können, muss Ihre Listener-Klasse die
OnDynamicLinkReceived
virtuelle Funktion implementieren. Durch Überschreiben der Methode können Sie einen Deeplink empfangen, falls einer empfangen wurde.
class Listener : public firebase::dynamic_links::Listener { public: // Called on the client when a dynamic link arrives. void OnDynamicLinkReceived( const firebase::dynamic_links::DynamicLink* dynamic_link) override { printf("Received link: %s", dynamic_link->url.c_str()); } };