Use o 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 de parâmetro atualizados no back-end do recurso e controlar quando eles são disponibilizados para o app. Saiba mais em Estratégias de carregamento da Configuração remota.
Etapa 1: adicionar o Firebase ao app
Antes de usar a Configuração remota, você precisa:
Registrar seu projeto em C++ e configurá-lo para usar o Firebase
Se o projeto em C++ já usa o Firebase, então ele já está registrado e configurado para o Firebase.
Adicionar o SDK do Firebase para C++ ao seu projeto em C ++.
A adição do Firebase ao projeto em C++ envolve tarefas no Console do Firebase e no projeto aberto em C++, como fazer o download dos arquivos de configuração do Firebase no console e mover esses arquivos para o projeto em C++.
Etapa 2: adicionar a Configuração remota ao seu app
Android
Depois de adicionar o Firebase ao app:
Crie um app Firebase, transmitindo o ambiente JNI e a atividade:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Inicialize a biblioteca de Configuração remota, conforme mostrado:
::firebase::remote_config::Initialize(app);
iOS+
Depois de adicionar o Firebase ao app:
Crie um app Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
Inicialize a biblioteca de Configuração remota, conforme mostrado:
::firebase::remote_config::Initialize(app);
Etapa 3: definir os valores de parâmetros padrão no app
É possível definir os valores de parâmetros padrão no app usando 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 vão estar disponíveis caso nenhum tenha sido definido no back-end.
Defina um conjunto de valores padrão e nomes de parâmetro usando um objeto
std::map<const char*, const char*>
ou um objetostd::map<const char*, firebase::Variant>
.- Saiba mais sobre
firebase::Variant
.
Depois de configurar os valores de parâmetro do back-end da Configuração remota, faça o download de um arquivo com esses pares de chave-valor para criar seu objeto
map
. Para mais informações, consulte Fazer o download dos padrões do modelo da Configuração remota.- Saiba mais sobre
Adicione esses valores ao objeto da Configuração remota usando
SetDefaults()
.
Etapa 4: receber valores de parâmetro para uso no app
Agora você pode receber valores de parâmetro do objeto da Configuração remota. Se você definir
valores no back-end da Configuração remota, buscá-los e ativá-los,
eles vão estar disponíveis para o app. Caso contrário, receba os valores
de parâmetro configurados no app usando
SetDefaults()
.
Para isso, chame o método listado a seguir, que é associado ao tipo de dados esperado pelo app, fornecendo a chave de parâmetro como argumento:
Etapa 5: definir valores de parâmetros
- Abra seu projeto no Console do Firebase.
- Selecione Configuração remota no menu para explorar o painel do recurso.
- 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. Saiba mais em Parâmetros e condições da Configuração remota.
Etapa 6: buscar e ativar os valores
- Para buscar os valores de parâmetro no back-end da Configuração remota, chame o
método
Fetch()
. Todos os valores definidos no back-end são buscados e armazenados em cache no objeto da Configuração remota. - Para disponibilizar valores de parâmetro buscados ao seu app, chame
ActivateFetched()
.
Etapa 7: detectar atualizações em tempo real
Depois de buscar valores de parâmetros, é possível usar a Configuração remota em tempo real para detectar atualizações do back-end. A Configuração remota em tempo real sinaliza para dispositivos conectados quando atualizações estão disponíveis e busca mudanças automaticamente depois que você publica uma nova versão da Configuração remota.
O SDK do Firebase para C++ v11.0.0 e as versões mais recentes para plataformas Android e Apple oferecem suporte a atualizações em tempo real.
- No seu app, chame
AddOnConfigUpdateListener
para detectar atualizações e buscar novos valores de parâmetros automaticamente. O exemplo a seguir detecta atualizações e usa os valores recém-buscados quandoActivate
é chamado para mostrar uma mensagem de recepção atualizada.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
Na próxima vez que você publicar uma nova versão da Configuração remota, os dispositivos que estiverem executando seu app e detectando alterações vão chamar o listener de atualização da configuração.
Próximas etapas
Se ainda não tiver feito isso, confira os casos de uso da Configuração remota, bem como alguns dos conceitos principais e a documentação de estratégias avançadas, que incluem: