Vous pouvez créer des liens dynamiques courts ou longs avec l'API Firebase Dynamic Links Builder. Cette API accepte un lien dynamique long ou un objet contenant des paramètres de lien dynamique, et renvoie des URL comme dans les exemples suivants :
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Configurer Firebase et le SDK Dynamic Links
Avant de pouvoir créer des liens dynamiques dans votre application Android, vous devez inclure le SDK Firebase. Si votre application est configurée pour recevoir des liens dynamiques, vous avez déjà effectué ces étapes et vous pouvez ignorer cette section.
Installez et initialisez les SDK Firebase pour Flutter si vous ne l'avez pas déjà fait.
Dans le répertoire racine de votre projet Flutter, exécutez la commande suivante pour installer le plug-in Dynamic Links :
flutter pub add firebase_dynamic_linksSi vous créez une application Android, ouvrez la page Paramètres du projet de la console Firebase et assurez-vous d'avoir spécifié votre clé de signature SHA-1. Si vous utilisez des liens d'application, spécifiez également votre clé SHA-256.
Dans la console Firebase, ouvrez la section "Dynamic Links ".
Si vous n'avez pas encore configuré de domaine pour vos liens dynamiques, cliquez sur le bouton Premiers pas et suivez les instructions.
Si vous possédez déjà un domaine Dynamic Links, notez-le. Vous devez fournir un domaine Dynamic Links lorsque vous créez des liens dynamiques de manière automatisée.

Recommandé : dans le menu "Plus" (⋮), spécifiez les formats d'URL autorisés pour vos liens profonds et liens de remplacement. Vous empêchez ainsi des tiers non autorisés de créer des liens dynamiques qui redirigent de votre domaine vers des sites que vous ne contrôlez pas.
Consultez Autoriser des formats d'URL spécifiques.
Créer un lien dynamique à partir de paramètres
Pour créer un lien dynamique, créez un objet DynamicLinkParameters et transmettez-le à buildLink() ou buildShortLink().
L'exemple minimal suivant crée un lien dynamique long vers https://www.example.com/ qui s'ouvre avec com.example.app.android sur Android et l'application com.example.app.ios sur iOS :
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
Pour créer un lien dynamique court, transmettez l'objet DynamicLinkParameters à buildShortLink(). La création du lien court nécessite un appel réseau.
Exemple :
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Par défaut, les liens dynamiques courts sont générés avec des suffixes de quelques caractères seulement. Bien que cela rende les liens plus compacts, il est possible que quelqu'un devine un lien court valide. Souvent, cela n'a pas d'importance, car le lien mène à des informations publiques.
Toutefois, si vos liens courts mènent à des informations spécifiques à l'utilisateur, vous devez créer des liens plus longs avec des suffixes de 17 caractères, ce qui rend très peu probable que quelqu'un puisse deviner un lien dynamique valide. Pour ce faire, transmettez ShortDynamicLinkType.unguessable à la méthode buildShortLink() :
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Paramètres de lien dynamique
Vous pouvez utiliser l'API Dynamic Link Builder pour créer des liens dynamiques avec n'importe quel paramètre compatible. Consultez la documentation de référence sur l'API.
L'exemple suivant crée un lien dynamique avec plusieurs paramètres courants définis :
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Vous pouvez définir des paramètres de lien dynamique avec les méthodes suivantes :
| Paramètres DynamicLink | |
|---|---|
| setLink | Lien que votre application ouvrira. Spécifiez une URL que votre application peut gérer, généralement le contenu ou la charge utile de l'application, qui lance une logique spécifique à l'application (par exemple, créditer l'utilisateur avec un coupon ou afficher un écran de bienvenue). Ce lien doit être une URL bien formatée, correctement encodée, utiliser HTTP ou HTTPS, et ne peut pas être un autre lien dynamique |
| setDomainUriPrefix | Préfixe de l'URL de votre lien dynamique, que vous trouverez dans la console Firebase. Un
domaine de lien dynamique se présente comme dans les exemples suivants :
https://example.com/link https://example.page.link |
| AndroidParameters | |
|---|---|
| setFallbackUrl | Lien à ouvrir lorsque l'application n'est pas installée. Spécifiez cette option pour effectuer une action autre que l'installation de votre application depuis le Play Store lorsque l'application n'est pas installée, par exemple ouvrir la version Web mobile du contenu ou afficher une page promotionnelle pour votre application. |
| setMinimumVersion | Code de la version minimale de votre application qui peut ouvrir le lien. Si l'application installée est une version antérieure, l'utilisateur est redirigé vers le Play Store pour la mettre à niveau. |
| IosParameters | |
|---|---|
| setAppStoreId | ID App Store de votre application, utilisé pour envoyer les utilisateurs vers l'App Store lorsque l'application n'est pas installée |
| setFallbackUrl | Lien à ouvrir lorsque l'application n'est pas installée. Spécifiez cette option pour effectuer une action autre que l'installation de votre application depuis l'App Store lorsque l'application n'est pas installée, par exemple ouvrir la version Web mobile du contenu ou afficher une page promotionnelle pour votre application. |
| setCustomScheme | Schéma d'URL personnalisé de votre application, s'il est défini comme autre chose que l'ID de bundle de votre application |
| setIpadFallbackUrl | Lien à ouvrir sur les iPad lorsque l'application n'est pas installée. Spécifiez cette option pour effectuer une action autre que l'installation de votre application depuis l'App Store lorsque l' application n'est pas installée, par exemple ouvrir la version Web du contenu ou afficher une page promotionnelle pour votre application. |
| setIpadBundleId | ID de bundle de l'application iOS à utiliser sur les iPad pour ouvrir le lien. L'application doit être connectée à votre projet depuis la page "Présentation" de la console Firebase. |
| setMinimumVersion | Numéro de version de la version minimale de votre application qui peut ouvrir le lien. Cet indicateur est transmis à votre application lorsqu'elle est ouverte, et votre application doit décider quoi en faire. |
| NavigationInfoParameters | |
|---|---|
| setForcedRedirectEnabled | Si la valeur est définie sur « 1 », ignorez la page d'aperçu de l'application lorsque le lien dynamique est ouvert, et redirigez plutôt vers l'application ou le Store. La page d'aperçu de l'application (activée par défaut) peut envoyer les utilisateurs de manière plus fiable vers la destination la plus appropriée lorsqu'ils ouvrent des liens dynamiques dans des applications. Toutefois, si vous vous attendez à ce qu'un lien dynamique ne soit ouvert que dans des applications qui peuvent ouvrir des liens dynamiques de manière fiable sans cette page, vous pouvez la désactiver avec ce paramètre. Ce paramètre n'affecte le comportement du lien dynamique que sur iOS. |
| SocialMetaTagParameters | |
|---|---|
| setTitle | Titre à utiliser lorsque le lien dynamique est partagé dans un post sur les réseaux sociaux. |
| setDescription | Description à utiliser lorsque le lien dynamique est partagé dans un post sur les réseaux sociaux. |
| setImageUrl | URL d'une image associée à ce lien. L'image doit mesurer au moins 300 x 200 pixels et peser moins de 300 Ko. |
| GoogleAnalyticsParameters | |
|---|---|
| setSource setMedium setCampaign setTerm setContent |
Paramètres Google Play Analytics. Ces paramètres (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) sont également transmis au Play Store et ajoutés à la charge utile du lien. |
| ItunesConnectAnalyticsParameters | |
|---|---|
| setProviderToken setAffiliateToken setCampaignToken |
Paramètres iTunes Connect Analytics. Ces paramètres (`pt`, `at`, `ct`) sont transmis à l'App Store. |