Primeiros passos com o Configuração remota do Firebase para Unity

Use o Configuração remota do Firebase para definir parâmetros no seu app e atualizar os valores na nuvem e, com isso, modificar a aparência e o comportamento do app sem a necessidade de distribuir uma atualização.

A biblioteca do Configuração remota é usada para armazenar valores padrão de parâmetros dentro do app, buscar valores atualizados de parâmetros do back-end e controlar quando os valores buscados são disponibilizados ao app. Para saber mais, consulte Estratégias de carregamento do Configuração remota.

Adicionar o Configuração remota ao seu app

Antes de usar o Configuração remota, você precisa fazer o seguinte:

  • Registre seu projeto do Unity e configure-o 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, faça o download de um app de amostra.

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

Adicionar o Firebase ao seu projeto do Unity envolve tarefas no Console do Firebase e no projeto do Unity aberto (por exemplo, fazer o download dos arquivos de configuração do Firebase no Console e movê-los para o projeto do Unity).

Definir valores de parâmetros padrão no app

Você pode definir valores padrão de parâmetros no objeto do Configuração remota para serem usados se nenhum outro valor tiver sido recuperado a partir do back-end. Isso permite que seu app se comporte da maneira pretendida antes de se conectar ao back-end do Configuração remota.

Para fazer isso, crie um dicionário de strings e preencha-o com pares de chave-valor que representam os padrões que você quer adicionar. (Propriedades sem string serão convertidas no tipo de propriedade quando SetDefaults for chamado).

System.Collections.Generic.Dictionary defaults =
  new System.Collections.Generic.Dictionary();

// These are the values that are used if we haven't fetched data from the
// backend yet, or if we ask for values that the backend doesn't have:
defaults.Add("propertyname_string", "default local string");
defaults.Add("propertyname_int", 1);
defaults.Add("propertyname_float", 1.0);
defaults.Add("propertyname_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.SetDefaults(defaults);

Receber valores de parâmetros para uso no app

É possível receber valores de parâmetros do objeto do Configuração remota. Se você definir valores no back-end do Configuração remota, buscá-los e, depois, ativá-los, eles estarão disponíveis para seu app. Caso contrário, você receberá os valor de parâmetro configurados no app usando SetDefaults().

Para receber esses valores, use GetValue(), fornecendo a chave de parâmetro como argumento. Isso retorna um ConfigValue, que tem propriedades para converter o valor em vários tipos de base.

Conectar seu app ao Console do Firebase

No Console do Firebase, adicione seu app ao projeto do Firebase.

Defina os valores de parâmetro

  1. Abra seu projeto no Console do Firebase.
  2. Selecione Configuração remota no menu para ver o painel.
  3. Defina os parâmetros com os mesmos nomes dos definidos no seu app. Para cada um, é possível definir um valor padrão (que, por fim, substituirá o valor padrão no app) e valores condicionais. Para saber mais, consulte Parâmetros e condições de Configuração remota.

Valores e busca e ativação (conforme necessário)

Para recuperar os valores de parâmetros usando o back-end do Configuração remota, chame o método FetchAsync(). Todos os valores definidos no back-end são obtidos e armazenados em cache no objeto Configuração remota.

Os valores recuperados por meio de FetchAsync() são armazenados em cache localmente no final da operação, mas não são disponibilizados até que ActivateFetched() seja chamado. Como FetchAsync() é executado de modo assíncrono, os novos valores não são aplicados durante o cálculo ou em ocasiões que podem resultar em problemas ou comportamentos estranhos.

(Opcional) Ativar modo do desenvolvedor

Para ativar o modo de desenvolvedor, que pode ser usado para desativar o controle de fluxo durante o desenvolvimento, use a propriedade FirebaseRemoteConfig.Setting, configurando um novo ConfigSettings com IsDeveloperMode definido como verdadeiro.