Crea Dynamic Links con Unity

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

Para poder usar Firebase Dynamic Links, debes realizar los siguientes pasos:

  • 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 (en específico, 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 para Dynamic Links

  1. En Firebase console, abre la sección Dynamic Links.

  2. 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. Deberás proporcionar un prefijo de URI para crear Dynamic Links de manera programática.

  3. 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 incluir patrones de URL en la lista blanca.

Usa Firebase console

Visita Firebase console y sigue los pasos que se indican en el formulario para generar un Dynamic Link manualmente. Esta es la forma más sencilla de producirlos, ya sea para hacer pruebas o para que tu equipo de marketing cree con facilidad un vínculo que pueda usarse, por ejemplo, en publicaciones de redes sociales.

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 a fin de configurar un dominio personalizado para tu proyecto.

Usa la API de Firebase Dynamic Links

Cómo crear 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

Cómo crear un 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.