Vous pouvez créer des liens dynamiques courts ou longs avec l'API.Dynamic LinksFirebase Dynamic Links L'API accepte plusieurs structures de paramètres facultatifs pour créer des liens. Vous pouvez également créer des liens courts à partir d'un lien long généré précédemment. Firebase Dynamic Links génère une URL comme celle-ci :
https://example.page.link/WXYZ
Le SDK C++ fonctionne à la fois pour Android et iOS, mais une configuration supplémentaire est requise pour chaque plate-forme.
Avant de commencer
Avant de pouvoir utiliser Firebase Dynamic Links, vous devez :
enregistrer votre projet C++ et le configurer pour qu'il utilise Firebase ;
Si votre projet C++ utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.
ajouter le Firebase C++ SDK à votre projet C++.
Notez que l'ajout de Firebase à votre projet C++ implique des tâches à la fois dans la Firebase console et dans votre projet C++ ouvert (par exemple, vous téléchargez les fichiers de configuration Firebase depuis la console, puis vous les déplacez dans votre projet C++).
Android
- Dans la console Firebase, ouvrez la section Dynamic Links.
Si vous ne l'avez pas déjà fait, acceptez les conditions d'utilisation et définissez un préfixe d'URI pour vos Dynamic Links lorsque vous y êtes invité.
Si vous disposez déjà d'un préfixe d'URI Dynamic Links, notez-le. Vous devez fournir un Dynamic Links préfixe d'URI lorsque vous créez Dynamic Links par programmation.

- Recommandé : Indiquez les formats d'URL autorisés pour vos liens profonds et liens de remplacement. Vous empêchez ainsi les tiers non autorisés de créer Dynamic Links qui redirigent votre domaine vers des sites que vous ne contrôlez pas. Consultez la section Autoriser des formats d'URL spécifiques.
iOS
- Dans la console Firebase, ouvrez la section Dynamic Links.
Si vous ne l'avez pas déjà fait, acceptez les conditions d'utilisation et définissez un préfixe d'URI pour vos Dynamic Links lorsque vous y êtes invité.
Si vous disposez déjà d'un préfixe d'URI Dynamic Links, notez-le. Vous devez fournir un Dynamic Links domaine lorsque vous créez Dynamic Links par programmation.

- 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 accepter
les 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 CIBLES , puis sélectionnez l'onglet Infos et 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 et recherchez la cléGoogleService-Info.plist REVERSED_CLIENT_ID. Copiez la valeur de cette clé et 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 s'agit du même que l'ID du bundle de votre application. Par exemple, si votre ID du bundle est
com.example.ios, saisissez cette valeur dans la zone Schémas d'URL. Vous trouverez l'ID de bundle de votre application dans l'onglet Général de la configuration du projet (Identité > Identifiant du bundle).
Utiliser la Firebase console
Si vous souhaitez générer un seul Dynamic Link, à des fins de test ou pour que votre équipe marketing puisse facilement créer un lien à utiliser dans un post sur les réseaux sociaux, par exemple, le plus simple serait d'accéder à la Firebase console et de le créer manuellement en suivant le formulaire pas à pas.
Domaines personnalisés
Vous pouvez mieux contrôler l'image de marque de votre Dynamic Link en utilisant votre propre
domaine au lieu d'un goo.gl ou page.link sous-domaine. Suivez ces
instructions pour configurer un domaine personnalisé pour
votre projet.
Utiliser l'API Firebase Dynamic Links
Créer et initialiser une application
Avant de pouvoir créer Dynamic Links, vous devez créer et initialiser
un firebase::App objet.
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 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 firebase::App :
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Initialiser la bibliothèque Dynamic Links
Avant de créer un Dynamic Link, vous devez d'abord initialiser la bibliothèque Dynamic Links :
::firebase::dynamic_links::Initialize(app, null);
Créer un long Dynamic Link à partir de paramètres
Pour créer un lien dynamique, créez un objet DynamicLinkComponents, définissez l'un des membres facultatifs pour une configuration supplémentaire et transmettez-le à dynamic_links::GetShortLink ou dynamic_links::GetLongLink.
L'exemple minimal suivant crée un lien dynamique long vers https://www.example.com/ qui s'ouvre avec votre application Android com.example.android.package_name et votre application iOS com.example.ios :
firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios"); firebase::dynamic_links::AndroidParameters android_parameters( "com.example.android.package_name"); firebase::dynamic_links::DynamicLinkComponents components( "https://www.example.com/", "example.page.link"); components.android_parameters = &android_parameters; components.ios_parameters = &ios_parameters; firebase::dynamic_links::GeneratedDynamicLink long_link = firebase::dynamic_links::GetLongLink(components);
Créer un lien dynamique court Dynamic Link
Pour créer un lien dynamique court, transmettez un lien long généré précédemment à GetShortLink ou créez DynamicLinkComponents de la même manière que ci-dessus.
GetShortLink accepte éventuellement un paramètre de configuration DynamicLinkOptions supplémentaire avec PathLength, ce qui vous permet de contrôler la façon dont le lien doit être généré. La génération d'un lien court nécessite une requête réseau auprès du backend Firebase
. GetShortLink est donc asynchrone et renvoie un Future<GeneratedLink>.
Exemple :
firebase::dynamic_links::DynamicLinkOptions short_link_options; short_link_options.path_length = firebase::dynamic_links::kPathLengthShort; firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result = firebase::dynamic_links::GetShortLink(components, short_link_options);
Si votre programme comporte une boucle de mise à jour qui s'exécute régulièrement (par exemple, 30 ou 60 fois par seconde), vous pouvez vérifier les résultats une fois par mise à jour :
if (result.status() == firebase::kFutureStatusComplete) { if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) { firebase::dynamic_links::GeneratedDynamicLink link = *result.result(); printf("Create short link succeeded: %s\n", link.url.c_str()); } else { printf("Created short link failed with error '%s'\n", result.error_message()); } }