Pour recevoir le Firebase Dynamic Links que vous avez créé, vous devez inclure le SDK Dynamic Links dans votre application et créer un objet firebase::dynamic_links::Listener qui implémente la fonction virtuelle OnDynamicLinkReceived.
Le SDK C++ fonctionne à la fois 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 Firebase C++ à 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, vous téléchargez des fichiers de configuration Firebase depuis la console, puis vous les déplacez dans votre projet C++).
Ajouter des schémas d'URL personnalisés (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 pouvoir recevoir des Dynamic Links.
Pour ouvrir la configuration de votre projet, double-cliquez sur le nom du projet dans l'arborescence de gauche.
Sélectionnez votre application dans la section TARGETS (CIBLES), puis sélectionnez l'onglet Info (Informations) et développez la section URL Types (Types d'URL).
Cliquez sur le bouton +, puis ajoutez un schéma d'URL pour votre ID client inversé. Pour trouver cette valeur :
Ouvrez le fichier de configuration
, puis recherchez la cléGoogleService-Info.plist REVERSED_CLIENT_ID.Copiez la valeur de cette clé, puis collez-la dans le champ Schémas d'URL de la page de configuration.
Laissez les autres champs vides.
Cliquez sur le bouton +, puis ajoutez un deuxième schéma d'URL. Il s'agit de l'ID du 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 General (Général) de la configuration du projet (Identity > Bundle Identifier (Identité > Identifiant du bundle)).
Recevoir un Dynamic Link
Créer et initialiser l'application
Avant de pouvoir vérifier si vous avez reçu des Dynamic Links, vous devez créer et initialiser un objet firebase::App.
Incluez le fichier d'en-tête pour firebase::App :
#include "firebase/app.h"
La partie suivante varie en fonction de votre plate-forme :
Android
Créez le 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 vérifier si un Dynamic Link a été reçu, implémentez et utilisez la classe 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éez un objet qui implémente firebase::dynamic_links::Listener et fournissez-le à la bibliothèque Dynamic Links avec SetListener(), ou transmettez-le en tant que deuxième argument à Initialize.
Pour recevoir Dynamic Links, votre classe d'écouteur doit implémenter la fonction virtuelle OnDynamicLinkReceived. 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()); } };