Per ricevere i Firebase Dynamic Links che hai creato , devi includere l'SDK Dynamic Links nella tua app e creare un oggetto firebase::dynamic_links::Listener
che implementa la funzione virtuale OnDynamicLinkReceived
.
L'SDK C++ funziona sia per Android che per iOS, con alcune configurazioni aggiuntive necessarie per ogni piattaforma.
Prima di iniziare
Prima di poter utilizzare Firebase Dynamic Links , devi:
Registra il tuo progetto C++ e configuralo per utilizzare Firebase.
Se il tuo progetto C++ usa già Firebase, allora è già registrato e configurato per Firebase.
Aggiungi l' SDK Firebase C++ al tuo progetto C++.
Tieni presente che l'aggiunta di Firebase al tuo progetto C++ comporta attività sia nella console Firebase che nel tuo progetto C++ aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel tuo progetto C++).
Aggiungi schemi URL personalizzati (solo per iOS)
La libreria client Firebase Dynamic Links C++ utilizza schemi URL personalizzati su iOS per elaborare i collegamenti. Devi aggiungere schemi URL personalizzati alla tua app per supportare la ricezione di link dinamici.
Per aprire la configurazione del progetto, fare doppio clic sul nome del progetto nella vista ad albero a sinistra.
Seleziona la tua app dalla sezione TARGETS , quindi seleziona la scheda Informazioni , quindi espandi la sezione Tipi di URL .
Fai clic sul pulsante + , quindi aggiungi uno schema URL per il tuo ID cliente invertito. Per trovare questo valore:
Apri il file di configurazione
, quindi cerca la chiaveGoogleService-Info.plist REVERSED_CLIENT_ID
.Copia il valore di tale chiave, quindi incollalo nella casella Schemi URL nella pagina di configurazione.
Lascia vuoti gli altri campi.
Fai clic sul pulsante + , quindi aggiungi un secondo schema URL. Questo è lo stesso dell'ID pacchetto della tua app.
Ad esempio, se l'ID pacchetto è
com.example.ios
, digita tale valore nella casella Schemi URL .Puoi trovare l'ID bundle della tua app nella scheda General della configurazione del progetto ( Identity > Bundle Identifier ).
Ricezione di un collegamento dinamico
Crea e inizializza App
Prima di poter controllare i collegamenti dinamici ricevuti, devi creare e inizializzare un oggetto firebase::App
.
Includi il file di intestazione per firebase::App
:
#include "firebase/app.h"
La parte successiva varia a seconda della piattaforma:
Androide
Crea firebase::App
, passando l'ambiente JNI e un riferimento jobject
all'attività Java come argomenti:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
Crea il firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Implementa il listener per controllare i collegamenti dinamici
Per verificare la presenza di un collegamento dinamico ricevuto, implementare e utilizzare la classe firebase::dynamic_links::Listener
.
Includere il file di intestazione per la ricezione dei collegamenti dinamici:
#include "firebase/dynamic_links.h"
Inizializza la libreria dei collegamenti dinamici:
::firebase::dynamic_links::Initialize(app, null);
Crea un oggetto che implementa firebase::dynamic_links::Listener
e forniscilo alla libreria Dynamic Links con SetListener()
o passalo come secondo argomento a Initialize .
Per ricevere collegamenti dinamici, la tua classe Listener deve implementare la funzione virtuale OnDynamicLinkReceived
. Sovrascrivendo il metodo, puoi ricevere un collegamento diretto, se ne è stato ricevuto uno.
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()); } };