Participe do Firebase Summit on-line e presencialmente em 18 de outubro de 2022. Veja como usar o Firebase pode ajudar você a acelerar o desenvolvimento de apps, a lançar seu aplicativo com confiança e a fazer o escalonamento com facilidade. Inscreva-se agora

Introdução à Configuração remota do Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.


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

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

Veja neste guia os primeiros passos e códigos de amostra, que estão disponíveis para clonagem ou download no repositório do GitHub firebase/quickstart-unit.

Etapa 1: adicionar a Configuração remota ao seu app

Antes de usar a Configuração remota, 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 essa plataforma.

    • 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.

Adicionar o Firebase ao projeto do Unity envolve tarefas no Console do Firebase e no projeto aberto do Unity. Por exemplo, fazer o download dos arquivos de configuração do Firebase no console e mover para o projeto do Unity.

Etapa 2: definir valores de parâmetro padrão no app

É possível definir os valores de parâmetros padrão no app com o objeto da Configuração remota. Assim, o app se comporta de maneira previsível antes de se conectar ao back-end da Configuração remota e os valores padrão estarão disponíveis, caso nenhum tenha sido definido no back-end.

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. Depois de configurar os valores de parâmetros de back-end do Configuração remota, é possível fazer o download de um arquivo que contenha esses pares de chave-valor para criar seu dicionário de strings. Para mais informações, consulte Fazer o download dos padrões do modelo do Configuração remota.

(Propriedades sem string serão convertidas no tipo de propriedade quando SetDefaultsAsync() for chamado).

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

Etapa 3: receber valores de parâmetro para uso no app

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

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.

Etapa 4: conectar o app no Console do Firebase

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

Etapa 5: definir 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 do recurso Configuração remota.

Etapa 6: buscar e ativar os valores (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.

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

Os valores recuperados com 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.

Etapa 7: (opcional) ativar o modo de 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.

Próximas etapas

Se ainda não tiver feito isso, veja os casos de uso do Configuração remota e analise alguns dos principais conceitos e documentação de estratégias avançadas, incluindo os seguintes: