Criar links dinâmicos com o Unity

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

https://example.page.link/aSDf

Antes de começar

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

  • registrar seu projeto do Unity e configurá-lo para usar o Firebase.

    • Se o 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á fazer o download de um aplicativo de amostra.

  • adicionar o SDK para Unity do Firebase (especificamente, FirebaseDynamicLinks.unitypackage) ao seu projeto do Unity.

A adição do Firebase ao seu projeto do Unity envolve tarefas no Console do Firebase e no projeto do Unity aberto (por exemplo, você faz o download dos arquivos de configuração do Firebase no Console e os move para o projeto do Unity).

Definir um domínio 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 domínio para o Dynamic Links, faça isso quando solicitado.

    Se você já tem um domínio do Dynamic Links, anote-o. Você precisa fornecer um domínio do Dynamic Links ao criar links dinâmicos de maneira programática.

Usar o Console do Firebase

Caso você queira fazer testes ou facilitar para sua equipe de marketing a criação de um link a ser usado em uma postagem de mídia social, acesse o Firebase console e siga o formulário passo a passo para gerar um link dinâmico único da maneira mais simples.

Como usar a API Firebase Dynamic Links

Como criar um link dinâmico longo a partir de parâmetros

Para criar um link dinâmico, gere um objeto DynamicLinkComponents, defina qualquer um dos membros opcionais para configuração extra e acesse a propriedade LongDynamicLink para ver o URL do link.

O pequeno exemplo a seguir cria um link dinâmico longo para https://www.example.com/ que pode ser aberto no app para Android, com.example.android.package_name no Android e com.example.ios no iOS:

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
        // The base Link.
        new System.Uri("https://www.example.com/"),
        // The dynamic link domain.
        "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

Como criar um link dinâmico curto

Para criar um link dinâmico curto, transmita um link longo gerado anteriormente para Firebase.DynamicLinks.GetShortLinkAsync ou crie DynamicLinkComponents da mesma maneira indicada acima.

Opcionalmente, GetShortLinkAsync tem um parâmetro de configuração adicional DynamicLinkOptions com a propriedade PathLength. Isso permite que você controle como o link deve ser gerado. Para gerar um link curto, é necessária uma solicitação de rede para o back-end do Firebase. Portanto, o método GetShortLinkAsync é executado de modo assíncrono. GetShortLinkAsync retorna Task<Firebase.DynamicLinks.ShortDynamicLink>.

Por exemplo:

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
    PathLength = DynamicLinkPathLength.Unguessable
};
Firebase.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.ShortLink 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.

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.