Configurer un domaine personnalisé pour les liens dynamiques

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:

  1. 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.

  2. Ouvrez la page Dynamic Links de la console Firebase.

  3. 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é.

  4. iOS uniquement: dans le fichier Info.plist de votre projet Xcode, créez une clé appelée FirebaseDynamicLinksCustomDomains 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 :

  1. 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.

  2. Effectuez la mise à jour vers la dernière version de la CLI Firebase. (version 6.5.0 ou ultérieure).

  3. 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 sur AUTO. Avec ce paramètre, Hosting génère dynamiquement assetlinks.json et apple-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 sur true. 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

  4. 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.

  5. iOS uniquement: dans le fichier Info.plist de votre projet Xcode, créez une clé appelée FirebaseDynamicLinksCustomDomains 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 glob source 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é 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
    } ]
    
  • 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-domaine 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
    } ]