Crea enlaces dinámicos con Unity

Puede crear vínculos dinámicos cortos o largos con la API de vínculos dinámicos de Firebase. La API requiere varias estructuras de parámetros opcionales para crear enlaces. También se pueden crear enlaces cortos a partir de un enlace largo generado previamente. La API de Dynamic Links generará una URL como la siguiente:

https://example.page.link/aSDf

Antes de que empieces

Antes de poder utilizar Firebase Dynamic Links , debes:

  • Registre su proyecto de Unity y configúrelo para usar Firebase.

    • Si tu proyecto de Unity ya usa Firebase, entonces ya está registrado y configurado para Firebase.

    • Si no tiene un proyecto de Unity, puede descargar una aplicación de muestra .

  • Agrega el SDK de Firebase Unity (específicamente, FirebaseDynamicLinks.unitypackage ) a tu proyecto de Unity.

Tenga en cuenta que agregar Firebase a su proyecto de Unity implica tareas tanto en Firebase console como en su proyecto de Unity abierto (por ejemplo, descarga archivos de configuración de Firebase desde la consola y luego los mueve a su proyecto de Unity).

Establecer un prefijo URI de vínculos dinámicos

  1. En Firebase console, abre la sección Enlaces dinámicos .

  2. Si aún no ha aceptado los términos de servicio y no ha configurado un prefijo URI para sus vínculos dinámicos, hágalo cuando se le solicite.

    Si ya tiene un prefijo URI de Dynamic Links, anótelo. Debe proporcionar un prefijo URI de Dynamic Links cuando crea Dynamic Links mediante programación.

  3. Recomendado : especifique los patrones de URL permitidos en sus enlaces profundos y enlaces alternativos. Al hacerlo, evita que partes no autorizadas creen vínculos dinámicos que redireccionen desde su dominio a sitios que no controla. Consulte Patrones de URL de lista blanca .

Usa la consola de Firebase

Si desea generar un único enlace dinámico, ya sea con fines de prueba o para que su equipo de marketing cree fácilmente un enlace que pueda usarse en algo como una publicación en las redes sociales, la forma más sencilla sería visitar Firebase console y crear uno. manualmente siguiendo el formulario paso a paso.

Dominios personalizados

Puede tener un mayor control sobre la marca de su vínculo dinámico utilizando su propio dominio en lugar de un subdominio goo.gl o page.link . Siga estas instrucciones para configurar un dominio personalizado para su proyecto.

Usando la API de enlaces dinámicos de Firebase

Crear un enlace dinámico largo a partir de parámetros

Para crear un vínculo dinámico, cree un objeto DynamicLinkComponents , configure cualquiera de los miembros opcionales para una configuración adicional y luego acceda a la propiedad LongDynamicLink para obtener la URL del vínculo.

El siguiente ejemplo mínimo crea un enlace dinámico largo a https://www.example.com/ que se abre con su aplicación de Android com.example.android en Android y la aplicación com.example.ios en 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 enlace dinámico corto

Para crear un vínculo dinámico corto, pase un vínculo largo generado previamente a Firebase.DynamicLinks.GetShortLinkAsync o cree DynamicLinkComponents de la misma manera que se indicó anteriormente.

GetShortLinkAsync opcionalmente toma un parámetro de configuración DynamicLinkOptions adicional con la propiedad PathLength , lo que le permite controlar cómo se debe generar el vínculo. La generación de enlaces cortos requiere una solicitud de red al backend de Firebase, por lo que el método GetShortLinkAsync se ejecuta de forma asincrónica. GetShortLinkAsync devuelve 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.
  }
});

El ejemplo anterior utiliza una expresión lambda que se activa cuando se completa la tarea.