Wenn du die Firebase Dynamic Links erhalten möchtest, die du erstellt hast, musst du das Dynamic Links SDK in deine App einbinden und ein firebase::dynamic_links::Listener
-Objekt erstellen, das die virtuelle Funktion OnDynamicLinkReceived
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 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.
Benutzerdefinierte URL-Schemas hinzufügen (nur iOS)
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 den Empfang von Dynamic Links zu unterstützen.
Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen.
Wählen Sie im Bereich ZIELE Ihre App aus, klicken Sie auf den Tab Info und maximieren Sie den Bereich URL-Typen.
Klicken Sie auf die Schaltfläche + und fügen Sie dann ein URL-Schema für Ihre Client-ID in umgekehrter Reihenfolge hinzu. So ermitteln Sie diesen Wert:
Ö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 auf der Konfigurationsseite in das Feld URL-Schemas ein.
Lassen Sie die anderen Felder leer.
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).
Dynamic Link wird empfangen
App erstellen und initialisieren
Bevor du nach empfangenen Dynamic Links suchen kannst, musst du 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:
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"));
Listener implementieren, um nach Dynamic Links zu suchen
Wenn du prüfen möchtest, ob eine Dynamic Link empfangen wurde, implementiere und verwende die Klasse firebase::dynamic_links::Listener
.
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 geben Sie es mit SetListener()
an die Dynamic Links-Bibliothek weiter oder übergeben Sie es als zweites Argument an Initialize.
Damit Dynamic Links empfangen werden kann, muss Ihre Listener-Klasse die virtuelle Funktion OnDynamicLinkReceived
implementieren. Wenn Sie die Methode überschreiben, können Sie einen Deeplink erhalten, 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()); } };