Puedes crear Dynamic Links cortos o largos con la API de Firebase Dynamic Links. La API usa varias estructuras de parámetros opcionales para compilar vínculos. Los vínculos cortos también se pueden crear a partir de un vínculo largo generado previamente. La API de Dynamic Links generará una URL como la siguiente:
https://example.page.link/aSDf
Antes de comenzar
Antes de poder usar Firebase Dynamic Links, tendrás que hacer lo siguiente:
Registra tu proyecto de Unity y configúralo para usar Firebase.
Si tu proyecto de Unity ya usa Firebase, significa que ya está registrado y configurado para Firebase.
Si aún no tienes un proyecto de Unity, puedes descargar una app de ejemplo.
Agrega el SDK de Firebase Unity (específicamente,
FirebaseDynamicLinks.unitypackage
) a tu proyecto de Unity.
Ten en cuenta que agregar Firebase a tu proyecto de Unity implica realizar tareas en Firebase console y en tu proyecto abierto de Unity (por ejemplo, descargar archivos de configuración de Firebase desde la consola y moverlos a tu proyecto de Unity).
Configura un prefijo de URI de Dynamic Links
En Firebase console, abre la sección Dynamic Links.
Si aún no has aceptado las Condiciones del Servicio ni configurado un prefijo de URI para tus Dynamic Links, deberás hacerlo cuando el sistema lo solicite.
Si ya tienes un prefijo de URI de Dynamic Links, anótalo. Debes proporcionar un prefijo de URI de Dynamic Links cuando crees Dynamic Links de manera programática.
Recomendado: Especifica los patrones de URL que se permiten en tus vínculos directos y de resguardo. De esa manera, evitas que grupos no autorizados creen Dynamic Links que se redireccionen desde tu dominio a otros sitios que no puedes controlar. Consulta Cómo permitir patrones de URL específicos.
Usa Firebase console
Si quieres generar un único Dynamic Link, ya sea para fines de pruebas o para que tu equipo de marketing cree fácilmente un vínculo que pueda usarse en algo como una publicación de redes sociales, la forma más sencilla sería visitar la consola de Firebase o crear uno manualmente siguiendo el formulario paso a paso.
Dominios personalizados
Puedes aumentar el control sobre el desarrollo de la marca de tu Dynamic Link si usas tu propio dominio en lugar de un subdominio goo.gl
o page.link
. Sigue estas instrucciones para configurar un dominio personalizado para tu proyecto.
Usar la API de Firebase Dynamic Links
Crea un Dynamic Link largo a partir de parámetros
Para crear un Dynamic Link, crea un objeto DynamicLinkComponents
, configura cualquiera de los miembros opcionales de manera adicional y accede a la propiedad LongDynamicLink
para obtener la URL del vínculo.
El siguiente ejemplo simple permite crear un Dynamic Link largo a https://www.example.com/ que abre com.example.android en tu app para Android y com.example.ios en la app para iOS:
var components = new Firebase.DynamicLinks.DynamicLinkComponents( // The base Link. new System.Uri("https://www.example.com/"), // The dynamic link URI prefix. "https://example.page.link") { IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"), AndroidParameters = new Firebase.DynamicLinks.AndroidParameters( "com.example.android.package_name"), }; // do something with: components.LongDynamicLink
Crear un objeto Dynamic Link corto
Para crear un Dynamic Link corto, pasa un vínculo largo generado con anterioridad a Firebase.DynamicLinks.GetShortLinkAsync
o compila DynamicLinkComponents
del modo que se indicó más arriba.
GetShortLinkAsync
toma de forma opcional un parámetro de configuración adicional DynamicLinkOptions
con la propiedad PathLength
, lo que te permite controlar cómo se genera el vínculo. Para generar vínculos cortos, se necesita una solicitud de red al backend de Firebase, por lo que el método GetShortLinkAsync
se ejecuta de forma asíncrona.
GetShortLinkAsync
muestra un Task<Firebase.DynamicLinks.ShortDynamicLink>
.
Por ejemplo:
var options = new Firebase.DynamicLinks.DynamicLinkOptions { PathLength = DynamicLinkPathLength.Unguessable }; Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("GetShortLinkAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception); return; } // Short Link has been created. Firebase.DynamicLinks.ShortDynamicLink link = task.Result; Debug.LogFormat("Generated short link {0}", link.Url); var warnings = new System.Collections.Generic.List<string>(link.Warnings); if (warnings.Count > 0) { // Debug logging for warnings generating the short link. } });
En el ejemplo anterior, se usa una expresión lambda que se activa cuando se completa la tarea.