Pour recevoir l'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 sur 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, vous téléchargez des fichiers de configuration Firebase à partir de la console, puis les déplacez 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 pouvoir recevoir Dynamic Links.
Pour ouvrir la configuration de votre projet, double-cliquez sur son nom dans l'arborescence de gauche.
Sélectionnez votre application dans la section TARGETS, puis sélectionnez l'onglet Infos, puis développez la section 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 la zone 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 est identique à l'ID de bundle de votre application.
Par exemple, si votre ID de lot est
com.example.ios
, saisissez cette valeur dans le champ Schémas d'URL.Vous trouverez l'ID de bundle de votre application dans l'onglet General (Général) de la configuration du projet (Identity > Bundle Identifier [Identité > Identifiant de bundle]).
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"
La partie 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 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
, puis 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 Listener doit implémenter la fonction virtuelle OnDynamicLinkReceived
. En ignorant 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()); } };