Configurer un domaine personnalisé pour les liens dynamiques

Vous pouvez avoir un meilleur contrôle sur vos liens dynamiques image de marque en utilisant votre propre domaine au lieu d'un page.link sous - domaine. Avec les domaines personnalisés, vous pouvez créer des liens dynamiques comme 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é le préfixe de l' URL, et contient à la fois votre domaine personnalisé Dynamic Link et un préfixe de chemin. Vous devrez fournir un préfixe d'URL lorsque vous créez des liens dynamiques.

La configuration d'un domaine personnalisé nécessite l'autorisation d'éditeur ou de propriétaire sur votre projet Firebase.

Utilisation de votre domaine Web pour les liens dynamiques

Vous pouvez utiliser le même domaine pour vos liens dynamiques et vos pages Web, les liens universels et les liens d'application, mais si vous le faites, vous devez veiller à ce que vos URL de liens dynamiques n'entrent pas en conflit avec vos URL Web. Lorsque vous configurez des liens dynamiques pour utiliser un préfixe d'URL particulier, toutes les URL qui commencent par ce préfixe sont traitées comme des liens dynamiques, vous ne pouvez donc pas utiliser d'URL avec ce préfixe pour pointer vers du contenu hébergé ordinaire.

Par exemple, si vous voulez créer un lien dynamique vers la ressource https://example.com/my-resource (une page Web, Universal Link ou App Link), vous ne pouvez pas utiliser https://example.com/ comme préfixe URL des liens dynamiques, car cela causerait https://example.com/my-resource être traité comme un Dynamic Link. Au lieu de cela, vous devez utiliser un préfixe d'URL avec un domaine différent ou un préfixe de chemin différent.

Donc, ce qui suit de longue durée Les liens dynamiques (et équivalents liens courts) ne fonctionnera pas comme prévu car les URL spécifiées par le link paramètre début avec le préfixe 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

Mais ce qui suit de longue durée Les liens dynamiques (et équivalents liens courts) peuvent travailler, parce que les préfixes d'URL ne sont pas incompatibles avec les link URL:

 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 complètement un domaine personnalisé dans la console Firebase. Faire cela:

  1. Si vous ne l' avez pas mis en place Firebase Hébergement pour votre projet, ouvrez la page par hébergement de la console Firebase, cliquez sur démarrer, puis cliquez sur les instructions de configuration. Vous n'êtes pas obligé de suivre les étapes indiquées pour le moment.

  2. Ouvrez la page Liens de dynamique de la console Firebase.

  3. Si vous ne l' avez pas utilisé avant dynamique Liens, cliquez sur démarrer. Dans le cas contraire, cliquez sur Ajouter préfixe URL dans le menu déroulant.

    Ensuite, terminez l'assistant de configuration en spécifiant le domaine et le préfixe de chemin que vous souhaitez utiliser lorsque vous y êtes invité.

  4. iOS uniquement: Dans votre projet de Xcode Info.plist fichier, créer une clé appelée FirebaseDynamicLinksCustomDomains et le mettre aux préfixes URL des liens dynamiques de votre application. Par example:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

Configurer un domaine personnalisé manuellement

Dans certaines situations, par exemple lorsque vous avez déjà configuré un domaine personnalisé pour les liens dynamiques et que vous souhaitez ajouter un autre domaine, ou lorsque vous ajoutez un domaine déjà connecté à un site d'hébergement, vous devez configurer votre domaine personnalisé manuellement.

Faire cela:

  1. Connectez votre domaine à Firebase hébergement si vous ne l' avez pas déjà fait.

    Configuration de votre domaine avec Firebase Hosting inclut la création du fichier de configuration firebase.json dans votre répertoire local du projet.

  2. Mise à jour à la dernière version de la CLI Firebase (de v6.5.0 ou ultérieure).

  3. Configurer votre site d' hébergement pour les liens dynamiques dans votre projet firebase.json fichier. Si votre projet comporte plusieurs sites, veillez à configurer le site connecté au domaine que vous souhaitez utiliser.

    • Set appAssociation à AUTO . Avec ce paramètre, hébergement génère dynamiquement assetlinks.json et apple-app-site-association fichiers lorsqu'ils sont demandés.

    • Spécifiez les préfixes de chemin que vous souhaitez utiliser pour Dynamic Liens en définissant des règles de réécriture avec dynamicLinks mis à true . Les demandes adressées à ces chemins sont transmises par proxy aux liens dynamiques.

      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 contenir d'expressions régulières.

      Si vous avez plusieurs règles de réécriture pour votre site, sachez que Hosting exécute la première règle de réécriture qui correspond à la demande.

    Par example:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    Avec la configuration ci - dessus, vous pouvez créer dynamique Liens 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 les liens dynamiques, vous pouvez utiliser un chemin source /** pour créer dynamique Liens sans préfixe de chemin:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    Avec la règle ci - dessus, vous pouvez créer des liens dynamiques comme l'exemple suivant:

    https://your-domain/link-suffix

  4. Déployez vos modifications de configuration d' hébergement:

    firebase deploy --only hosting

    ( en option) Vous pouvez vérifier le déploiement firebase.json contenu en utilisant l' hébergement API REST .

  5. iOS uniquement: Dans votre projet de Xcode Info.plist fichier, créer une clé appelée FirebaseDynamicLinksCustomDomains et le mettre aux préfixes URL des liens dynamiques de votre application. Par example:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Ordre de priorité pour les liens dynamiques et l'hébergement

Pour les liens dynamiques, être particulièrement conscients de l' hébergement ordre de priorité .

  • Assurez-vous que votre préfixe d'URL de liens dynamiques n'entre pas en conflit avec des configurations d'hébergement de priorité plus élevée (par exemple, le contenu statique hébergé a toujours la priorité sur les réécritures).
  • Au sein de l' rewrites attribut, la réponse d' hébergement obéira la règle spécifiée par la première source de glob qui capture le chemin demandé.

Par exemple, si vous configurez un Dynamic Link pour your-domain / source-path / link-suffix mais vous avez également le contenu statique à your-domain / source-path /index.html , le contenu statique est prioritaire. Un utilisateur final verra index.html plutôt que le Dynamic Link. De même, si vous avez du contenu statique à your-domain / source-path / link-suffix , l'utilisateur final verra le contenu statique plutôt que le Dynamic Link.

Si vous souhaitez utiliser la même marque pour les liens dynamiques et l'hébergement, envisagez l'une des options suivantes pour votre préfixe d'URL de liens dynamiques :

  • Définissez votre source de attribut pour correspondre à un préfixe de chemin. Par exemple, si vous avez un domaine personnalisé de example.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
    } ]
    
  • Mettre en place un sous - domaine à utiliser pour les liens dynamiques, puis définissez votre source de attribut pour correspondre à ce sous - domaine. Par exemple, si vous avez un sous - domaine de links.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
    } ]