Pour recevoir les liens dynamiques Firebase que vous avez créés , 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 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.
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 les 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 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.
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 CIBLES , 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. Celui-ci est le même que l'ID de bundle de votre application.
Par exemple, si votre ID de bundle est
com.example.ios
, saisissez cette valeur dans la zone Schémas d'URL .Vous pouvez trouver l'identifiant du bundle de votre application dans l'onglet Général de la configuration du projet ( Identité > Identifiant du bundle ).
Recevoir un lien dynamique
Créer et initialiser l'application
Avant de pouvoir vérifier les liens dynamiques 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 en fonction de votre plate-forme :
Android
Créez le firebase::App
, en passant 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 la firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Implémenter Listener pour vérifier les liens dynamiques
Pour rechercher un lien dynamique reçu, implémentez et utilisez la classe firebase::dynamic_links::Listener
.
Inclure le fichier d'en-tête pour recevoir les liens dynamiques :
#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 comme deuxième argument à Initialize .
Pour recevoir des liens dynamiques, votre classe Listener 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()); } };