Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Recevoir des liens dynamiques avec C++

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

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 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.

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

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

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

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

    2. Copiez la valeur de cette clé, puis collez-la dans la zone 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. 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 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());
  }
};