Vous pouvez mieux contrôler votre Dynamic Links l'image de marque en utilisant vos propres
domaine au lieu d'un sous-domaine page.link
. Les domaines personnalisés vous permettent de créer
Dynamic Links comme dans les exemples suivants:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
La partie de l'URL avant link-suffix est appelée préfixe d'URL. et contient à la fois votre domaine Dynamic Link personnalisé et un préfixe de chemin d'accès. Vous devrez fournissez un préfixe d'URL lorsque vous créez Dynamic Links.
La configuration d'un domaine personnalisé nécessite l'autorisation Éditeur ou Propriétaire sur votre Firebase projet.
Utilisation de votre domaine Web pour Dynamic Links
Vous pouvez utiliser le même domaine pour votre Dynamic Links et vos pages Web, liens universels et liens vers une application. Toutefois, si vous le faites, vous devez veiller à ce que vos URL Dynamic Link ne soient pas en conflit avec vos URL Web. Lorsque vous configurez Dynamic Links pour qu'il utilise un préfixe d'URL particulier, toutes les URL commençant par ce préfixe sont traitées comme Dynamic Links. Vous ne pouvez donc pas utiliser d'URL avec ce préfixe pour rediriger vers un contenu hébergé ordinaire.
Par exemple, si vous souhaitez créer un Dynamic Link pour la ressource
https://example.com/my-resource
(page Web, lien universel ou lien vers une application), vous
Impossible d'utiliser https://example.com/
comme préfixe d'URL Dynamic Links, car cela
https://example.com/my-resource
serait traité comme une Dynamic Link.
À la place, vous devez utiliser un préfixe d'URL avec un domaine différent ou un préfixe différent
préfixe de chemin d'accès.
Par conséquent, le format long suivant Dynamic Links (et les liens courts équivalents) ne fonctionneront pas comme
car les URL spécifiées par le paramètre link
commencent par
Préfixe d'URL Dynamic Link, https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Toutefois, le format long suivant Dynamic Links (et les liens courts équivalents) peuvent fonctionner.
car les préfixes d'URL n'entrent pas en conflit avec les URL link
:
https://link.example.com/?link=https://example.com/my-resource https://example.com/links/?link=https://example.com/my-resource https://ex.amp.le/?link=https://example.com/my-resource
Configurer un domaine personnalisé dans la console Firebase
Vous pouvez généralement configurer entièrement un domaine personnalisé dans la console Firebase. À procédez comme suit:
Si vous n'avez pas configuré Firebase Hosting pour votre projet, ouvrez le page Hosting de la console Firebase, cliquez sur Commencer, puis suivez les instructions de configuration. Vous n'avez pas besoin d'effectuer les étapes indiquées pour le moment.
Ouvrez la page Dynamic Links de la console Firebase.
Si vous n'avez jamais utilisé Dynamic Links auparavant, cliquez sur Commencer. Sinon, cliquez sur Ajouter un préfixe d'URL dans le menu déroulant.
Suivez ensuite les instructions de l'assistant de configuration, en indiquant le domaine et le préfixe de chemin que vous souhaitez utiliser lorsque vous y êtes invité.
iOS uniquement: dans le fichier
Info.plist
de votre projet Xcode, créez une clé appeléeFirebaseDynamicLinksCustomDomains
et le définir sur l'URL Dynamic Links de votre application préfixes. Exemple :<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Configurer un domaine personnalisé manuellement
Dans certains cas, par exemple lorsque vous avez déjà configuré un domaine personnalisé pour Dynamic Links et que vous souhaitez en ajouter un autre, ou lorsque vous ajoutez un domaine déjà associé à un site Hosting, vous devez configurer votre domaine personnalisé manuellement.
Pour ce faire :
Connecter votre domaine à Firebase Hosting si vous ne l'avez pas déjà fait.
Configurer votre domaine avec Firebase Hosting implique de créer le fichier de configuration
firebase.json
dans dans le répertoire local de votre projet.Effectuez la mise à jour vers la dernière version de la CLI Firebase. (version 6.5.0 ou ultérieure).
Configurez votre site Hosting pour Dynamic Links dans les paramètres
firebase.json
. Si votre projet comporte plusieurs sites, assurez-vous configurer le site associé au domaine que vous souhaitez utiliser.Définissez
appAssociation
surAUTO
. Avec ce paramètre, Hosting génère dynamiquementassetlinks.json
etapple-app-site-association
. des fichiers lorsqu'ils sont demandés.Spécifiez les préfixes de chemin d'accès que vous souhaitez utiliser pour Dynamic Links en définissant les règles de réécriture avec
dynamicLinks
défini surtrue
. Les requêtes adressées à ces chemins sont acheminées vers Dynamic Links.Contrairement aux règles qui réécrivent les chemins d'accès aux URL, les règles de réécriture Dynamic Link ne peuvent pas qui contiennent des expressions régulières.
Si vous avez défini plusieurs règles de réécriture pour votre site, notez que Hosting exécute la première règle de réécriture qui correspond à la requête.
Exemple :
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Avec la configuration ci-dessus, vous pouvez créer des Dynamic Links avec des préfixes d'URL comme les exemples suivants :
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Si vous utilisez ce domaine uniquement pour Dynamic Links, vous pouvez utiliser le chemin source
/**
pour créer Dynamic Links sans préfixe de chemin:{ "source": "/**", "dynamicLinks": true }
Avec la règle ci-dessus, vous pouvez créer Dynamic Links comme dans l'exemple suivant:
https://your-domain/link-suffix
Déployez vos modifications de configuration Hosting:
firebase deploy --only hosting
(Facultatif) Vous pouvez vérifier le contenu
firebase.json
déployé à l'aide de l'API REST Hosting.iOS uniquement: dans le fichier
Info.plist
de votre projet Xcode, créez une clé appeléeFirebaseDynamicLinksCustomDomains
et le définir sur l'URL Dynamic Links de votre application préfixes. Exemple :<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Ordre de priorité pour Dynamic Links et Hosting
Pour Dynamic Links, soyez particulièrement attentif aux ordre de priorité d'hébergement.
- Assurez-vous que le préfixe d'URL Dynamic Links n'entre pas en conflit avec un préfixe de priorité supérieure les configurations d'hébergement (par exemple, le contenu statique hébergé a toujours la priorité contre les réécritures).
- Dans l'attribut
rewrites
, la réponse Hosting respectera la règle. spécifié par le premier fichier globsource
qui capture le chemin demandé.
Par exemple, si vous configurez un Dynamic Link pour
your-domain/source-path/link-suffix
mais vous avez aussi du contenu statique
your-domain/source-path/index.html
, le
le contenu statique est prioritaire. Un utilisateur final verra index.html
au lieu de
la Dynamic Link. De même, si vous avez du contenu statique
your-domain/source-path/link-suffix
,
l'utilisateur final verra le contenu statique à la place de Dynamic Link.
Si vous souhaitez utiliser le même branding pour Dynamic Links et Hosting, envisagez l'une des options suivantes pour votre préfixe d'URL Dynamic Links :
Définissez votre attribut
source
pour qu'il corresponde à un préfixe de chemin d'accès. Par exemple, si vous avez un domaine personnalisé deexample.com
, votre règle de réécriture pourrait être:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Configurez un sous-domaine à utiliser pour Dynamic Links, puis définissez votre attribut
source
pour qu'il corresponde à ce sous-domaine. Par exemple, si votre sous-domainelinks.example.com
, votre règle de réécriture pourrait être:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]