Recevez des liens dynamiques avec C++

Pour recevoir le Firebase Dynamic Liens que vous avez créé , vous devez inclure les liens dynamiques SDK dans votre application et créer un firebase::dynamic_links::Listener objet qui implémente l' OnDynamicLinkReceived fonction virtuelle.

Le SDK C++ fonctionne à la fois pour Android et iOS, avec une configuration supplémentaire requise pour chaque plate-forme.

Avant que tu commences

Avant de pouvoir utiliser Firebase Dynamic Links , vous devez:

  • Enregistrez votre projet C++ et configurez-le pour utiliser Firebase.

    Si votre projet C++ utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.

  • Ajouter le Firebase C ++ SDK à votre projet C de.

Notez que l' ajout Firebase à votre projet C ++ implique des tâches à la fois dans la console Firebase et dans votre projet open C ++ (par exemple, vous téléchargez des fichiers de configuration Firebase de la console, puis les déplacer dans votre projet C ++).

Ajouter des schémas d'URL personnalisés (pour iOS uniquement)

La bibliothèque cliente Firebase Dynamic Links C++ utilise des schémas d'URL personnalisés sur iOS pour traiter les liens. Vous devez ajouter des schémas d'URL personnalisés à votre application pour prendre en charge la réception de liens dynamiques.

  1. Pour ouvrir votre configuration de projet, double-cliquez sur le nom du projet dans l'arborescence de gauche.

  2. Sélectionnez votre application de la section CIBLES, puis sélectionnez l'onglet Info, puis développez la section Types d'URL.

  3. Cliquez sur le bouton +, puis ajoutez un schéma d'URL pour votre ID client inverse. Pour trouver cette valeur :

    1. Ouvrez le GoogleService-Info.plist fichier de configuration, puis regardez la REVERSED_CLIENT_ID clé.

    2. Copiez la valeur de cette clé, puis collez - le dans la boîte Schémas d' URL sur la page de configuration.

    3. Laissez les autres champs vides.

  4. Cliquez sur le bouton +, puis ajouter un second schéma d'URL. Celui-ci est le même que l'ID du bundle de votre application.

    Par exemple, si votre ID faisceau est com.example.ios , saisissez cette valeur dans l'URL boîte systèmes.

    Vous pouvez trouver ID bundle de votre application dans l'onglet Général de la configuration du projet (Identity> Bundle Identifier).

Recevoir un lien dynamique

Créer et initialiser l'application

Avant de pouvoir vérifier les liens dynamiques reçus, vous devrez créer et initialiser un firebase::App objet.

Inclure le fichier d' en- tête pour firebase::App :

#include "firebase/app.h"

La partie suivante varie en fonction de votre plateforme :

Android

Créer l' firebase::App , en passant l'environnement JNI et jobject référence à l'activité Java comme arguments:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

Créer l' firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Implémenter l'écouteur pour vérifier les liens dynamiques

Pour vérifier un reçu Dynamic Link, mettre en œuvre et utiliser les firebase::dynamic_links::Listener classe.

Inclure le fichier d' en- tête pour recevoir des liens dynamiques:

#include "firebase/dynamic_links.h"

Initialiser la bibliothèque des liens dynamiques:

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

Créer un objet qui implémente firebase::dynamic_links::Listener , et de fournir à la bibliothèque des liens dynamiques avec SetListener() , ou le transmettre comme deuxième argument Initialiser .

Pour recevoir des liens dynamiques, votre classe Listener doit mettre en œuvre la OnDynamicLinkReceived fonction virtuelle. En remplaçant la méthode, vous pouvez recevoir un lien profond, le cas échéant.

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