Primeiros passos com a Configuração remota do Firebase


Você pode usar o Firebase Remote Config para definir parâmetros no seu aplicativo e atualizar seus valores na nuvem, permitindo modificar a aparência e o comportamento do seu aplicativo sem distribuir uma atualização do aplicativo. Este guia orienta você nas etapas de introdução e fornece alguns exemplos de código, todos disponíveis para clonagem ou download 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 SDK JS do Configuração remota e inicialize a Configuração remota:

API modular da Web

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);

API com namespace da Web

import firebase from "firebase/compat/app";
import "firebase/compat/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();

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

Etapa 2: definir intervalo mínimo de busca

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

Web modular API

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web namespaced API

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

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

Você pode definir valores de parâmetros padrão no aplicativo no objeto do Configuração remota, para que seu aplicativo se comporte conforme esperado antes de se conectar ao back-end do Configuração remota e para que os valores padrão estejam disponíveis se nenhum estiver definido no back-end.

Web modular API

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

Web namespaced API

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

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

DESCANSAR

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, habilite .json para web e clique em Baixar arquivo .

Os exemplos a seguir mostram duas maneiras diferentes de importar e definir valores padrão no seu aplicativo. O primeiro exemplo usa fetch , que fará uma solicitação HTTP para o arquivo padrão incluído no 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: obtenha valores de parâmetros para usar em seu aplicativo

Agora você pode obter valores de parâmetros do objeto do Configuração remota. 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 do parâmetro como argumento.

Web modular API

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

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

Web namespaced API

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

Etapa 5: definir valores de parâmetros

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

  1. No console do Firebase , abra seu projeto.
  2. Selecione Configuração remota no menu para visualizar o painel do Configuração remota.
  3. Defina parâmetros com os mesmos nomes dos parâmetros definidos 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 da configuração remota .

Etapa 6: buscar e ativar valores

  1. Para buscar valores de parâmetros do back-end do Configuração remota, chame o método fetchConfig() . Todos os valores definidos no back-end são buscados e armazenados em cache no objeto do Configuração remota.
  2. Para disponibilizar valores de parâmetros buscados para seu aplicativo, chame o método activate() .

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

Web modular API

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

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

Web namespaced API

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

Como esses valores de parâmetros atualizados afetam o comportamento e a aparência do 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 o aplicativo. Consulte Estratégias de carregamento do Configuração remota para mais informações e exemplos.

Estrangulamento

Se um aplicativo buscar muitas vezes em um curto período de tempo, as chamadas de busca poderão ser limitadas. Nesses casos, o SDK gera um erro FETCH_THROTTLE . É recomendável detectar esse erro e tentar novamente no modo de espera exponencial, aguardando intervalos mais longos entre 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 o Configuração remota é de 12 horas, o que significa que as configurações não serão buscadas no 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.

Próximos passos

Se você ainda não o fez, explore os casos de uso da configuração remota e dê uma olhada em alguns dos principais conceitos e documentação de estratégias avançadas, incluindo: