Per ricevere i Firebase Dynamic Links che hai creato,
devi includere l'SDK Dynamic Links nella tua app e creare un
firebase::dynamic_links::Listener
oggetto che implementi la
OnDynamicLinkReceived
funzione virtuale.
L'SDK C++ funziona sia per Android sia per iOS, con alcune configurazioni aggiuntive richieste per ogni piattaforma.
Prima di iniziare
Prima di poter utilizzare Firebase Dynamic Links, devi:
Registrare il tuo progetto C++ e configurarlo in modo che utilizzi Firebase.
Se il tuo progetto C++ utilizza già Firebase, è già registrato e configurato per Firebase.
Aggiungere l'Firebase C++ SDK al tuo progetto C++.
Tieni presente che l'aggiunta di Firebase al tuo progetto C++ comporta attività sia nella Firebase console sia nel progetto C++ aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, poi li sposti nel progetto C++).
Aggiungere 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 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 +, poi aggiungi uno schema URL per l'ID client invertito. Per trovare questo valore:
Apri il file di configurazione
, poi cerca laGoogleService-Info.plist REVERSED_CLIENT_IDchiave.Copia il valore di questa chiave, poi incollalo nella casella URL Schemes su la pagina di configurazione.
Lascia vuoti gli altri campi.
Fai clic sul pulsante +, poi aggiungi un secondo schema URL. Questo è uguale all' ID bundle della tua app.
Ad esempio, se l'ID bundle è
com.example.ios, digita questo valore nella casella URL Schemes.Puoi trovare l'ID bundle della tua app nella scheda General della configurazione del progetto (Identity > Bundle Identifier).
Ricevere un Dynamic Link
Creare e inizializzare l'app
Prima di poter verificare la presenza di Dynamic Links ricevuti, devi creare e inizializzare
un firebase::App oggetto.
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 jobject
riferimento 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"));
Implementare il listener per verificare la presenza di Dynamic Links
Per verificare la presenza di un Dynamic Link, implementa e utilizza la
firebase::dynamic_links::Listener
classe.
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
OnDynamicLinkReceived
funzione virtuale. Eseguendo l'override del metodo, puoi ricevere un link 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()); } };