Vous pouvez créer des liens dynamiques courts ou longs avec l'API Firebase Dynamic Links Builder. Cette API accepte soit un lien dynamique long, soit 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.
Depuis le répertoire racine de votre projet Flutter, exécutez la commande suivante pour installer le plugin Dynamic Links :
flutter pub add firebase_dynamic_links
Si 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 Liens dynamiques .
Si vous n'avez pas encore configuré de domaine pour vos liens dynamiques, cliquez sur le bouton Commencer et suivez les invites.
Si vous avez déjà un domaine Dynamic Links, notez-le. Vous devez fournir un domaine Dynamic Links lorsque vous créez des liens dynamiques par programmation.
Recommandé : dans le menu "Plus" (⋮), spécifiez les modèles d'URL autorisés dans vos liens profonds et vos liens de secours. Ce faisant, vous empêchez des parties non autorisées de créer des liens dynamiques qui redirigent depuis votre domaine vers des sites que vous ne contrôlez pas.
Créer un lien dynamique à partir de paramètres
Pour créer un lien dynamique, créez un nouvel objet DynamicLinkParameters
et transmettez-le à buildLink()
ou buildShortLink()
.
L'exemple minimal suivant crée un long lien dynamique 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. Par 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 rend les liens plus compacts, cela introduit également la possibilité que quelqu'un puisse deviner un lien court valide. Souvent, il n'y a pas de mal si quelqu'un le fait, car le lien mène à des informations publiques.
Cependant, 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 qui rendent très peu probable que quelqu'un puisse deviner un lien dynamique valide. Pour ce faire, passez 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 lequel des paramètres pris en charge. Voir la référence API .
L'exemple suivant crée un lien dynamique avec plusieurs paramètres communs 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 les paramètres Dynamic Link à l'aide des méthodes suivantes :
Paramètres DynamicLink | |
---|---|
setLink | Le 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 (telle que créditer l'utilisateur d'un coupon ou afficher un écran de bienvenue). Ce lien doit être une URL bien formatée, être correctement codé en URL, utiliser HTTP ou HTTPS et ne peut pas être un autre lien dynamique. |
setDomainUriPrefix | Votre préfixe d'URL de lien dynamique, que vous pouvez trouver dans la console Firebase. Un domaine Dynamic Link ressemble aux exemples suivants : https://example.com/link https://example.page.link |
Paramètres Android | |
---|---|
setFallbackUrlsetFallbackUrl | Le lien à ouvrir lorsque l'application n'est pas installée. Spécifiez ceci pour faire autre chose que d'installer votre application à partir du Play Store lorsque l'application n'est pas installée, comme ouvrir la version Web mobile du contenu ou afficher une page promotionnelle pour votre application. |
setMinimumVersion | Le versionCode de la version minimale de votre application qui peut ouvrir le lien. Si l'application installée est une version plus ancienne, l'utilisateur est redirigé vers le Play Store pour mettre à niveau l'application. |
IosParameters | |
---|---|
setAppStoreId | L'identifiant App Store de votre application, utilisé pour envoyer les utilisateurs vers l'App Store lorsque l'application n'est pas installée |
setFallbackUrlsetFallbackUrl | Le lien à ouvrir lorsque l'application n'est pas installée. Spécifiez ceci pour faire autre chose que d'installer votre application à partir de l'App Store lorsque l'application n'est pas installée, comme ouvrir la version Web mobile du contenu ou afficher une page promotionnelle pour votre application. |
setCustomScheme | Le schéma d'URL personnalisé de votre application, s'il est défini comme autre chose que l'ID de groupe de votre application |
setIpadFallbackUrl | Le lien à ouvrir sur les iPads lorsque l'application n'est pas installée. Spécifiez ceci pour faire autre chose que d'installer votre application à partir de l'App Store lorsque l'application n'est pas installée, comme 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 | Le 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. |
NavigationInfoParametersNavigationInfoParameters | |
---|---|
setForcedRedirectEnabledsetForcedRedirectEnabled | S'il est défini 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 la boutique. La page d'aperçu de l'application (activée par défaut) peut envoyer de manière plus fiable les utilisateurs vers la destination la plus appropriée lorsqu'ils ouvrent des liens dynamiques dans les applications ; cependant, si vous vous attendez à ce qu'un lien dynamique soit ouvert uniquement dans les applications qui peuvent ouvrir des liens dynamiques de manière fiable sans cette page, vous pouvez le désactiver avec ce paramètre. Ce paramètre affectera le comportement du lien dynamique uniquement sur iOS. |
SocialMetaTagParametersSocialMetaTagParameters | |
---|---|
setTitle | Titre à utiliser lorsque le lien dynamique est partagé dans une publication sociale. |
setDescription | Description à utiliser lorsque le lien dynamique est partagé dans une publication sociale. |
setImageUrlsetImageUrl | L'URL d'une image liée à ce lien. L'image doit faire au moins 300 x 200 px et moins de 300 Ko. |
Paramètres Google Analytics | |
---|---|
setSource setMedium setCampaign setTerm setContent | Paramètres d'analyse de Google Play. Ces paramètres (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) sont transmis au Play Store et ajoutés à la charge utile du lien. |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignTokensetCampaignToken | Paramètres d'analyse d'iTunes Connect. Ces paramètres (`pt`, `at`, `ct`) sont transmis à l'App Store. |