Crie links dinâmicos com Unity

Você pode criar links dinâmicos curtos ou longos com a API Firebase Dynamic Links. A API usa várias estruturas de parâmetros opcionais para construir links. Links curtos também podem ser criados a partir de um link longo gerado anteriormente. A API Dynamic Links gerará um URL como este:

https://example.page.link/aSDf

Antes de você começar

Antes de usar o Firebase Dynamic Links , você precisa:

  • Registre seu projeto Unity e configure-o para usar o Firebase.

    • Se o seu projeto do Unity já usa o Firebase, ele já está registrado e configurado para o Firebase.

    • Se você não tiver um projeto do Unity, poderá baixar um aplicativo de exemplo .

  • Adicione o SDK do Firebase Unity (especificamente FirebaseDynamicLinks.unitypackage ) ao seu projeto Unity.

Observe que adicionar o Firebase ao seu projeto do Unity envolve tarefas no console do Firebase e no seu projeto aberto do Unity (por exemplo, você baixa os arquivos de configuração do Firebase do console e os move para o seu projeto do Unity).

Definir um prefixo de URI do Dynamic Links

  1. No console do Firebase, abra a seção Dynamic Links .

  2. Se você ainda não aceitou os termos de serviço e definiu um prefixo de URI para seus Dynamic Links, faça-o quando solicitado.

    Se você já tiver um prefixo de URI do Dynamic Links, anote-o. Você precisa fornecer um prefixo de URI de links dinâmicos ao criar links dinâmicos de maneira programática.

  3. Recomendado : especifique os padrões de URL permitidos em seus links diretos e links substitutos. Ao fazer isso, você evita que partes não autorizadas criem links dinâmicos que redirecionem do seu domínio para sites que você não controla. Consulte Padrões de URL da lista de permissões .

Usar o console do Firebase

Se você deseja gerar um único link dinâmico, seja para fins de teste ou para que sua equipe de marketing crie facilmente um link que possa ser usado em algo como uma postagem em mídia social, a maneira mais simples seria visitar o console do Firebase e criar um manualmente seguindo o passo a passo.

Domínios personalizados

Você pode ter maior controle sobre a marca do seu link dinâmico usando seu próprio domínio em vez de um subdomínio goo.gl ou page.link . Siga estas instruções para configurar um domínio personalizado para o seu projeto.

Usando a API Firebase Dynamic Links

Criando um link dinâmico longo a partir de parâmetros

Para criar um link dinâmico, crie um objeto DynamicLinkComponents , definindo qualquer um dos membros opcionais para configuração adicional e, em seguida, acesse a propriedade LongDynamicLink para obter o URL do link.

O exemplo mínimo a seguir cria um link dinâmico longo para https://www.example.com/ que abre com seu aplicativo Android com.example.android no Android e o aplicativo com.example.ios no 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

Criando um link dinâmico curto

Para criar um link dinâmico curto, passe um link longo gerado anteriormente para Firebase.DynamicLinks.GetShortLinkAsync ou crie DynamicLinkComponents da mesma forma que acima.

GetShortLinkAsync opcionalmente usa um parâmetro de configuração DynamicLinkOptions extra com a propriedade PathLength , permitindo controlar como o link deve ser gerado. A geração de link curto requer uma solicitação de rede ao back-end do Firebase, portanto, o método GetShortLinkAsync é executado de forma assíncrona. GetShortLinkAsync retorna um Task<Firebase.DynamicLinks.ShortDynamicLink> .

Por exemplo:

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.
  }
});

O exemplo acima usa uma expressão lambda que é acionada quando a tarefa é concluída.