Configura un dominio personalizado para Dynamic Links

Puedes aumentar el control sobre el desarrollo de la marca de tus Dynamic Links si usas tu propio dominio en lugar de un subdominio page.link. Con los dominios personalizados, puedes crear Dynamic Links similares a los de estos ejemplos:

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 parte de la URL que se muestra antes de link-suffix se denomina prefijo de URL y contiene el dominio personalizado del Dynamic Link y un prefijo de ruta de acceso. Deberás proporcionar un prefijo de URL cuando crees Dynamic Links.

Debes tener el permiso de editor o propietario en tu proyecto de Firebase para configurar un dominio personalizado.

Usa tu dominio web para Dynamic Links

Puedes usar el mismo dominio para Dynamic Links y las páginas web, los vínculos universales y los vínculos de apps. Sin embargo, en este caso, debes asegurarte de que las URL de los Dynamic Links no entren en conflicto con las URL web. Cuando configuras Dynamic Links a fin de que usen un prefijo de URL determinado, todas las URL que comienzan con el prefijo se consideran Dynamic Links, por lo que no puedes usar las URL que contienen el prefijo para apuntar a contenido alojado común.

Por ejemplo, si quieres crear un Dynamic Link al recurso https://example.com/my-resource (una página web, un vínculo universal o un vínculo de app), no puedes usar https://example.com/ como el prefijo de URL de Dynamic Links, ya que causaría que https://example.com/my-resource se considerara un Dynamic Link. En lugar de eso, debes usar un prefijo de URL que tenga un dominio o prefijo de ruta de acceso distinto.

Por lo tanto, los siguientes Dynamic Links en formato largo (y los vínculos cortos equivalentes) no funcionarán correctamente, ya que las URL que especifica el parámetro link comienzan con el prefijo de URL del Dynamic Link, https://example.com/:

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

No obstante, los siguientes Dynamic Links en formato largo (y los vínculos cortos equivalentes) funcionarán correctamente, ya que los prefijos de URL no entran en conflicto con las URL de 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

Configura un dominio personalizado en Firebase console

Puedes configurar un dominio personalizado completamente en Firebase console. Para ello, deberás hacer lo siguiente:

  1. Si aún no has configurado Firebase Hosting para tu proyecto, abre la página de Hosting de Firebase console, haz clic en Comenzar y sigue las instrucciones de configuración. No es obligatorio completar los pasos indicados en este momento.

  2. Abre la página de Dynamic Links en Firebase console.

  3. Si nunca has usado Dynamic Links, haz clic en Comenzar. De lo contrario, haz clic en Agregar prefijo de URL en el menú desplegable.

    Luego, completa el asistente de configuración y, cuando se te solicite hacerlo, especifica el dominio y el prefijo de ruta de acceso que quieres usar.

  4. Solo para iOS: Crea una clave llamada FirebaseDynamicLinksCustomDomains en el archivo Info.plist de tu proyecto de Xcode y configúrala con los prefijos de URL de Dynamic Links de tu app. Por ejemplo:

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

Configura un dominio personalizado de forma manual

En algunas situaciones, como cuando ya configuraste un dominio personalizado para Dynamic Links y quieres agregar otro o cuando vas a agregar un dominio que ya está conectado a un sitio de Hosting, debes configurar el dominio personalizado de forma manual.

Para ello, deberás hacer lo siguiente:

  1. Si aún no lo has hecho, conecta el dominio a Firebase Hosting.

    Para configurar el dominio con Firebase Hosting, debes crear el archivo de configuración firebase.json en el directorio de tu proyecto local.

  2. Asegúrate de tener instalada la versión 6.5.0 o posterior de Firebase CLI:

    npm install -g firebase-tools

  3. Configura el sitio de Hosting para Dynamic Links en el archivo firebase.json del proyecto. Si el proyecto tiene muchos sitios, asegúrate de configurar el sitio que está conectado al dominio que quieres usar.

    • Configura appAssociation como AUTO. Esto permite que Hosting genere los archivos assetlinks.json y apple-app-site-association de manera dinámica cuando se soliciten.

    • Especifica los prefijos de ruta de acceso que quieres usar con Dynamic Links. Para ello, define dynamicLinks como true a fin de configurar las reglas de reescritura. Las solicitudes que se envían a esas rutas de acceso se dirigen a Dynamic Links.

      A diferencia de las reglas que reescriben las rutas de acceso hacia las URL, las reglas de reescritura de Dynamic Links no pueden incluir expresiones regulares.

      Si tienes varias reglas de reescritura en tu sitio, ten en cuenta que Hosting ejecuta la primera regla de reescritura que coincide con la solicitud.

    Por ejemplo:

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

    La configuración anterior te permite crear Dynamic Links con prefijos de URL similares a estos ejemplos:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    Si usas este dominio solo para Dynamic Links, puedes usar la ruta de acceso de origen de /** a fin de crear Dynamic Links sin prefijo de ruta de acceso:

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

    La regla anterior te permite crear Dynamic Links similares al de este ejemplo:

    https://your-domain/link-suffix

  4. Implementa los cambios en la configuración de Hosting con este comando:

    firebase deploy --only hosting

    Puedes verificar el contenido implementado de firebase.json mediante la API de REST de Hosting (opcional).

  5. Solo para iOS: Crea una clave llamada FirebaseDynamicLinksCustomDomains en el archivo Info.plist de tu proyecto de Xcode y configúrala con los prefijos de URL de Dynamic Links de tu app. Por ejemplo:

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

Orden de prioridad para Dynamic Links y Hosting

En el caso de Dynamic Links, debes tener muy en cuenta el orden de prioridad de hosting.

  • Debes asegurarte de que tu prefijo de URL de Dynamic Links no entre en conflicto con las configuraciones de hosting de prioridad más alta. Por ejemplo, el contenido estático alojado siempre tiene prioridad sobre las reescrituras.
  • Dentro del atributo rewrites, la respuesta de Hosting obedecerá la regla especificada por el primer glob de source que capture la ruta solicitada.

Por ejemplo, si configuras un Dynamic Link para your-domain/source-path/link-suffix, pero también tienes contenido estático en your-domain/source-path/index.html, este último tendrá prioridad. Un usuario final verá index.html en vez del Dynamic Link. Del mismo modo, si tienes contenido estático en your-domain/source-path/link-suffix, el usuario final verá ese contenido en vez del Dynamic Link.

Si quieres usar el mismo desarrollo de la marca en Dynamic Links y Hosting, te recomendamos una de las siguientes opciones para el prefijo de URL de Dynamic Links:

  • Configurar tu atributo source para que coincida con un prefijo de ruta de acceso. Por ejemplo, si tienes un dominio personalizado de example.com, tu regla de reescritura podría ser la siguiente:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Configurar un subdominio que se usará en Dynamic Links y, luego, configurar tu atributo source para que coincida con ese subdominio. Por ejemplo, si tienes un subdominio de links.example.com, esta podría ser tu regla de reescritura:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]
    

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.