Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Primeiros passos com 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.


Você pode usar o Firebase Remote Config para definir parâmetros em seu aplicativo e atualizar seus valores na nuvem, permitindo que você modifique a aparência e o comportamento de seu aplicativo sem distribuir uma atualização de aplicativo. Este guia orienta você pelas etapas para começar e fornece alguns códigos de exemplo, todos disponíveis para clonar ou baixar no repositório GitHub firebase/quickstart-js .

Etapa 1: adicionar e inicializar o SDK do Configuração remota

  1. Se ainda não o fez, instale o Firebase JS SDK e inicialize o Firebase .

  2. Adicione o Remote Config JS SDK e inicialize o Remote Config:

Web version 9

import { initializeApp } from "firebase/app";
import { getRemoteConfig } from "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = getRemoteConfig(app);

Web version 8

import firebase from "firebase/app";
import "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

Esse objeto é usado para armazenar valores de parâmetros padrão no aplicativo, buscar valores de parâmetros atualizados no back-end do Configuração remota e controlar quando os valores buscados são disponibilizados para seu aplicativo.

Etapa 2: definir o intervalo mínimo de busca

Durante o desenvolvimento, é recomendável definir um intervalo de busca mínimo relativamente baixo. Consulte Limitação para obter mais informações.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Etapa 3: definir valores de parâmetro padrão no aplicativo

Você pode definir valores de parâmetro padrão no aplicativo no objeto Remote Config, para que seu aplicativo se comporte como pretendido antes de se conectar ao back-end do Remote Config e para que os valores padrão estejam disponíveis se nenhum for definido no back-end.

Web version 9

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web version 8

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Se você já configurou os valores dos parâmetros de back-end do Configuração remota, pode fazer o download de um arquivo JSON gerado que inclui todos os valores padrão e incluí-lo em seu pacote de apps:

DESCANSO

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json

Console do Firebase

  1. Na guia Parâmetros , abra o menu e selecione Baixar valores padrão .
  2. Quando solicitado, ative .json para web e clique em Baixar arquivo .

Os exemplos a seguir mostram duas maneiras diferentes de importar e definir valores padrão em seu aplicativo. O primeiro exemplo usa fetch , que fará uma solicitação HTTP para o arquivo padrão incluído em seu pacote de aplicativos:


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

O próximo exemplo usa require , que compila os valores em seu aplicativo no momento da compilação:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

Etapa 4: obter valores de parâmetro para usar em seu aplicativo

Agora você pode obter valores de parâmetro do objeto Remote Config. Se posteriormente você definir valores no back-end, buscá-los e ativá-los, esses valores estarão disponíveis para seu aplicativo. Para obter esses valores, chame o método getValue() , fornecendo a chave de parâmetro como um argumento.

Web version 9

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web version 8

const val = remoteConfig.getValue("welcome_messsage");

Etapa 5: definir valores de parâmetro

Usando o Firebase console ou as APIs de back-end do Remote Config , você pode criar novos valores padrão do lado do servidor que substituem os valores no aplicativo de acordo com a lógica condicional desejada ou o direcionamento do usuário. Esta seção orienta você pelas etapas do Firebase console para criar esses valores.

  1. No console do Firebase , abra seu projeto.
  2. Selecione Remote Config no menu para visualizar o painel Remote Config.
  3. Defina parâmetros com os mesmos nomes dos parâmetros que você definiu em seu aplicativo. Para cada parâmetro, você pode definir um valor padrão (que eventualmente substituirá o valor padrão do aplicativo) e também pode definir valores condicionais. Para saber mais, consulte Parâmetros e condições do Remote Config .

Etapa 6: buscar e ativar valores

  1. Para buscar valores de parâmetro do back-end do Remote Config, chame o método fetchConfig() . Quaisquer valores que você definir no back-end são buscados e armazenados em cache no objeto Remote Config.
  2. Para disponibilizar os valores de parâmetro buscados para seu aplicativo, chame o método activate() .

Para os casos em que você deseja buscar e ativar valores em uma chamada, use fetchAndActivate() conforme mostrado neste exemplo:

Web version 9

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web version 8

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Como esses valores de parâmetro atualizados afetam o comportamento e a aparência de seu aplicativo, você deve ativar os valores buscados em um momento que garanta uma experiência tranquila para o usuário, como na próxima vez que o usuário abrir seu aplicativo. Consulte Estratégias de carregamento do Remote Config para obter mais informações e exemplos.

Estrangulamento

Se um aplicativo busca muitas vezes em um curto período de tempo, as chamadas de busca podem ser limitadas. Nesses casos, o SDK lança um erro FETCH_THROTTLE . É recomendável detectar esse erro e tentar novamente no modo de espera exponencial, aguardando intervalos mais longos entre as solicitações de busca subsequentes.

Durante o desenvolvimento do aplicativo, talvez você queira atualizar o cache com muita frequência (muitas vezes por hora) para permitir uma iteração rápida à medida que desenvolve e testa seu aplicativo. Para acomodar a iteração rápida em um projeto com vários desenvolvedores, você pode adicionar temporariamente uma propriedade com um intervalo de busca mínimo baixo ( Settings.minimumFetchIntervalMillis ) em seu aplicativo.

O intervalo de busca de produção padrão e recomendado para configuração remota é de 12 horas, o que significa que as configurações não serão buscadas do back-end mais de uma vez em uma janela de 12 horas, independentemente de quantas chamadas de busca forem realmente feitas. Especificamente, o intervalo mínimo de busca é determinado na seguinte ordem:

  1. O parâmetro em Settings.minimumFetchIntervalMillis .
  2. O valor padrão de 12 horas.

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: