Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Ricevi collegamenti dinamici con C ++

Per ricevere Firebase Dynamic Links che hai creato , devi includere Dynamic Links SDK 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 richieste per ciascuna 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 ++ utilizza già Firebase, allora è già registrato e configurato per Firebase.

  • Nel tuo file build.gradle livello di build.gradle , assicurati di includere il repository Maven di Google in entrambe le sezioni buildscript e allprojects .

  • Aggiungi Firebase C ++ SDK al tuo progetto C ++.

Tieni presente che l'aggiunta di Firebase al tuo progetto C ++ implica 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.

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

  2. Seleziona la tua app dalla sezione TARGET , quindi seleziona la scheda Informazioni , quindi espandi la sezione Tipi di URL .

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

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

    2. Copia il valore di quella chiave, quindi incollalo nella casella Schemi URL nella pagina di configurazione.

    3. Lascia gli altri campi vuoti.

  4. Fare clic sul pulsante + , quindi aggiungere un secondo schema URL. Questo è lo stesso dell'ID bundle della tua app.

    Ad esempio, se il tuo ID bundle è com.example.ios , digita quel 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 l'app

Prima di poter controllare i link dinamici ricevuti, dovrai 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

Creare la firebase::App , passando l'ambiente JNI e una jobject riferimento alla Java attività 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 collegamenti dinamici

Per verificare la presenza di un collegamento dinamico ricevuto, implementa e utilizza la firebase::dynamic_links::Listener .

Includere il file di intestazione per la ricezione di collegamenti dinamici:

#include "firebase/dynamic_links.h"

Inizializza la libreria Dynamic Links:

::firebase::dynamic_links::Initialize(app, null);

Crea un oggetto che implementa firebase::dynamic_links::Listener e forniscilo alla libreria Dynamic Links con SetListener() o SetListener() come secondo argomento a Initialize .

Per ricevere collegamenti dinamici, la classe Listener deve implementare la funzione virtuale OnDynamicLinkReceived . Ignorando il metodo, puoi ricevere un link profondo, 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());
  }
};