Recevoir des liens dynamiques avec C++

Pour recevoir le Firebase Dynamic Links que vous avez créé, procédez comme suit : vous devez inclure le SDK Dynamic Links dans votre application et créer un firebase::dynamic_links::Listener qui met en œuvre OnDynamicLinkReceived une fonction virtuelle.

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

Avant de commencer

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.

  • Ajoutez le SDK C++ Firebase à votre projet C++.

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

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

La bibliothèque cliente C++ Firebase Dynamic Links 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 permettre Dynamic Links

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

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

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

    1. Ouvrez le fichier de configuration GoogleService-Info.plist, puis recherchez le Clé REVERSED_CLIENT_ID.

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

    3. Laissez les autres champs vides.

  4. Cliquez sur le bouton +, puis ajoutez un deuxième schéma d'URL. Celle-ci est la même que l'ID de bundle de votre application.

    Par exemple, si l'ID de votre bundle est com.example.ios, saisissez cette valeur dans le champ Schémas d'URL.

    Vous trouverez l'ID du bundle de votre application dans l'onglet Général du projet (Identité > Identifiant de groupe).

Réception d'un Dynamic Link

Créer et initialiser l'application

Avant de pouvoir rechercher les Dynamic Links reçus, vous devez créer et initialiser Un objet firebase::App.

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

#include "firebase/app.h"

L'étape suivante varie selon votre plate-forme:

Android

Créez firebase::App en transmettant l'environnement JNI et une référence jobject à l'activité Java en tant qu'arguments :

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

iOS

Créez le sous-réseau firebase::App :

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

Implémenter un écouteur pour vérifier Dynamic Links

Pour rechercher un Dynamic Link reçu, implémentez et utilisez la méthode firebase::dynamic_links::Listener .

Incluez le fichier d'en-tête pour recevoir Dynamic Links:

#include "firebase/dynamic_links.h"

Initialisez la bibliothèque Dynamic Links:

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

Créer un objet qui implémente firebase::dynamic_links::Listener et fournissez-le à la bibliothèque Dynamic Links avec SetListener(), ou le transmettre comme deuxième argument Initialisation.

Pour recevoir Dynamic Links, votre classe "Listener" doit implémenter la classe OnDynamicLinkReceived une fonction virtuelle. En ignorant la méthode, vous pouvez recevoir un lien profond, si que vous en avez reçu un.

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