Per ricevere il Firebase Dynamic Links che hai creato,
devi includere l'SDK Dynamic Links nella tua app e creare un
oggetto firebase::dynamic_links::Listener
che implementi la
funzione virtuale OnDynamicLinkReceived.
L'SDK C++ funziona sia per Android che per iOS, con alcune configurazioni aggiuntive richieste per ogni piattaforma.
Prima di iniziare
Per poter usare Firebase Dynamic Links, devi:
Registra il tuo progetto C++ e configuralo in modo che utilizzi Firebase.
Se il tuo progetto C++ utilizza già Firebase, significa che è 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 sia nel progetto C++ aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console e poi li sposti nel progetto C++).
Aggiungi schemi URL personalizzati (solo per iOS)
La libreria client C++ Firebase Dynamic Links utilizza schemi URL personalizzati su iOS per elaborare i link. Devi aggiungere schemi URL personalizzati alla tua app per supportare la ricezione di Dynamic Links.
Per aprire la configurazione del progetto, fai doppio clic sul nome del progetto nella visualizzazione ad albero a sinistra.
Seleziona la tua app dalla sezione TARGETS, poi seleziona la scheda Info, quindi espandi la sezione URL Types.
Fai clic sul pulsante +, quindi aggiungi uno schema URL per l'ID client invertito. Per trovare questo valore:
Apri il file di configurazione
, quindi cerca la chiaveGoogleService-Info.plist REVERSED_CLIENT_ID.Copia il valore della chiave e incollalo nella casella Schemi URL della 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 questo valore nella casella Schemi URL.Puoi trovare l'ID pacchetto della tua app nella scheda Generale della configurazione del progetto (Identità > Identificatore pacchetto).
Ricezione di un Dynamic Link
Crea e inizializza l'app
Prima di poter verificare la ricezione di Dynamic Links, 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:
Android
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 firebase::App:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Implementa il listener per verificare la presenza di Dynamic Links
Per verificare la ricezione di un Dynamic Link, implementa e utilizza la classe firebase::dynamic_links::Listener.
Includi il file di intestazione per la ricezione di Dynamic Links:
#include "firebase/dynamic_links.h"
Inizializza la libreria Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
Crea un oggetto che implementi
firebase::dynamic_links::Listener
e forniscilo alla libreria Dynamic Links con
SetListener()
oppure passalo come secondo argomento a
Initialize.
Per ricevere Dynamic Links, la classe Listener deve implementare la funzione virtuale OnDynamicLinkReceived. Eseguendo l'override del metodo, puoi ricevere un deep link, 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()); } };