Ricevi link dinamici con C++

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.

  1. Per aprire la configurazione del progetto, fai doppio clic sul nome del progetto nella visualizzazione ad albero a sinistra.

  2. Seleziona la tua app dalla sezione TARGETS, poi seleziona la scheda Info , quindi espandi la sezione URL Types.

  3. Fai clic sul pulsante +, poi aggiungi uno schema URL per l'ID client invertito. Per trovare questo valore:

    1. Apri il file di configurazione GoogleService-Info.plist, poi cerca la REVERSED_CLIENT_ID chiave.

    2. Copia il valore di questa chiave, poi incollalo nella casella URL Schemes su la pagina di configurazione.

    3. Lascia vuoti gli altri campi.

  4. 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());
  }
};