Puede crear Dynamic Links cortos o largos con la API de Firebase Dynamic Links Builder. Esta API acepta un enlace dinámico largo o un objeto que contiene parámetros de enlace dinámico y devuelve URL como los siguientes ejemplos:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Configurar Firebase y el SDK de Dynamic Links
Antes de poder crear Dynamic Links en su aplicación de Android, debe incluir el SDK de Firebase. Si su aplicación está configurada para recibir Dynamic Links, ya completó estos pasos y puede omitir esta sección.
Instale e inicialice los SDK de Firebase para Flutter si aún no lo ha hecho.
Desde el directorio raíz de su proyecto Flutter, ejecute el siguiente comando para instalar el complemento Dynamic Links:
flutter pub add firebase_dynamic_links
Si está creando una aplicación para Android, abra la página de configuración del proyecto de la consola de Firebase y asegúrese de haber especificado su clave de firma SHA-1. Si usa App Links, especifique también su clave SHA-256.
En Firebase console, abra la sección Dynamic Links .
Si aún no ha configurado un dominio para sus Dynamic Links, haga clic en el botón Comenzar y siga las indicaciones.
Si ya tienes un dominio de Dynamic Links, toma nota. Debe proporcionar un dominio de Dynamic Links cuando crea Dynamic Links mediante programación.
Recomendado : en el menú "Más" (⋮), especifique los patrones de URL permitidos en sus enlaces profundos y enlaces alternativos. Al hacerlo, evita que terceros no autorizados creen vínculos dinámicos que redirigen desde su dominio a sitios que no controla.
Consulte Permitir patrones de URL específicos .
Crear un vínculo dinámico a partir de parámetros
Para crear un Dynamic Link, crea un nuevo objeto DynamicLinkParameters
y pásalo a buildLink()
o buildShortLink()
.
El siguiente ejemplo mínimo crea un vínculo dinámico largo a https://www.example.com/
que se abre con com.example.app.android
en Android y la aplicación com.example.app.ios
en 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);
Para crear un enlace dinámico corto, pase el objeto DynamicLinkParameters
a buildShortLink()
. La construcción del enlace corto requiere una llamada de red. Por ejemplo:
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);
De forma predeterminada, los vínculos dinámicos cortos se generan con sufijos que solo tienen unos pocos caracteres. Aunque esto hace que los enlaces sean más compactos, también introduce la posibilidad de que alguien pueda adivinar un enlace corto válido. A menudo, no pasa nada si alguien lo hace, porque el enlace conduce a información pública.
Sin embargo, si sus enlaces cortos conducen a información específica del usuario, debe crear enlaces más largos con sufijos de 17 caracteres que hagan que sea muy poco probable que alguien pueda adivinar un enlace dinámico válido. Para hacerlo, pasa ShortDynamicLinkType.unguessable
al método buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parámetros de enlace dinámico
Puede usar la API Dynamic Link Builder para crear Dynamic Links con cualquiera de los parámetros admitidos. Consulte la referencia de la API .
El siguiente ejemplo crea un vínculo dinámico con varios parámetros comunes establecidos:
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);
Puede configurar los parámetros de Dynamic Link con los siguientes métodos:
Parámetros de enlace dinámico | |
---|---|
establecer enlace | El enlace que abrirá su aplicación. Especifique una URL que su aplicación pueda manejar, normalmente el contenido de la aplicación o la carga útil, que inicia la lógica específica de la aplicación (como acreditar al usuario con un cupón o mostrar una pantalla de bienvenida). Este vínculo debe ser una URL bien formateada, estar correctamente codificado como URL, usar HTTP o HTTPS y no puede ser otro vínculo dinámico. |
establecerDominioUriPrefijo | Su prefijo de URL de enlace dinámico, que puede encontrar en la consola de Firebase. Un dominio de Dynamic Link se parece a los siguientes ejemplos: https://example.com/link https://example.page.link |
Parámetros de Android | |
---|---|
setFallbackUrl | El enlace para abrir cuando la aplicación no está instalada. Especifique esto para hacer algo más que instalar su aplicación desde Play Store cuando la aplicación no está instalada, como abrir la versión web móvil del contenido o mostrar una página promocional para su aplicación. |
setMinimumVersion | El código de versión de la versión mínima de su aplicación que puede abrir el enlace. Si la aplicación instalada es una versión anterior, se lleva al usuario a Play Store para actualizar la aplicación. |
IosParameters | |
---|---|
establecerAppStoreId | El ID de la tienda de aplicaciones de su aplicación, que se usa para enviar a los usuarios a la tienda de aplicaciones cuando la aplicación no está instalada |
setFallbackUrl | El enlace para abrir cuando la aplicación no está instalada. Especifique esto para hacer algo más que instalar su aplicación desde App Store cuando la aplicación no está instalada, como abrir la versión web móvil del contenido o mostrar una página promocional para su aplicación. |
establecer esquema personalizado | El esquema de URL personalizado de su aplicación, si se define como algo diferente al ID del paquete de su aplicación |
establecerIpadFallbackUrl | El enlace para abrir en iPads cuando la aplicación no está instalada. Especifique esto para hacer algo más que instalar su aplicación desde App Store cuando la aplicación no está instalada, como abrir la versión web del contenido o mostrar una página promocional para su aplicación. |
setIpadBundleId | El ID del paquete de la aplicación de iOS que se usará en iPads para abrir el enlace. La aplicación debe estar conectada a su proyecto desde la página Descripción general de Firebase console. |
setMinimumVersion | El número de versión de la versión mínima de su aplicación que puede abrir el enlace. Esta bandera se pasa a su aplicación cuando se abre, y su aplicación debe decidir qué hacer con ella. |
Parámetros de información de navegación | |
---|---|
setForcedRedirectEnabled | Si se establece en '1', omita la página de vista previa de la aplicación cuando se abra Dynamic Link y, en su lugar, redirija a la aplicación o tienda. La página de vista previa de la aplicación (habilitada de forma predeterminada) puede enviar a los usuarios al destino más apropiado de manera más confiable cuando abren Dynamic Links en las aplicaciones; sin embargo, si espera que un Dynamic Link se abra solo en aplicaciones que pueden abrir Dynamic Links de manera confiable sin esta página, puede deshabilitarlo con este parámetro. Este parámetro afectará el comportamiento de Dynamic Link solo en iOS. |
Parámetros de SocialMetaTag | |
---|---|
establecer título | El título que se usará cuando el vínculo dinámico se comparta en una publicación social. |
conjuntoDescripción | La descripción que se usará cuando el vínculo dinámico se comparta en una publicación social. |
establecerUrlImagen | La URL de una imagen relacionada con este enlace. La imagen debe tener al menos 300x200 px y menos de 300 KB. |
Parámetros de Google Analytics | |
---|---|
establecerFuente conjuntoMedio establecer campaña establecerTérmino establecerContenido | Parámetros de análisis de Google Play. Estos parámetros (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) se transmiten a Play Store y se agregan a la carga del enlace. |
ItunesConnectAnalyticsParámetros | |
---|---|
establecerProviderToken setAfiliadoToken establecerCampaignToken | Parámetros de análisis de iTunes Connect. Estos parámetros (`pt`, `at`, `ct`) se pasan a la App Store. |