Check out what’s new from Firebase at Google I/O 2022. Learn more

Inizia con la configurazione remota di Firebase

È possibile utilizzare Firebase Configurazione remota per definire i parametri della tua app e aggiornare i propri valori in the cloud, che consente di modificare l'aspetto e il comportamento della vostra applicazione senza distribuire un aggiornamento app. Questa guida ti guida attraverso i passi per iniziare e fornisce alcuni esempi di codice, ognuno dei quali è disponibile per clonare o il download dal QuickStart-js Firebase / repository GitHub.

Aggiungere e inizializzare il Remote Config SDK

  1. Se non l'hai già, installare l'SDK Firebase JS e inizializzare Firebase .

  2. Aggiungere il Remote Config JS SDK e inizializzare 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();

Questo oggetto viene utilizzato per memorizzare i valori dei parametri di default in-app, recuperare valori aggiornati dei parametri dal backend di configurazione remota e il controllo quando i valori recuperati sono messi a disposizione per la vostra applicazione.

Insieme minimo recuperare intervallo

Durante lo sviluppo, si consiglia di impostare un minimo relativamente basso recuperare intervallo. Vedere Throttling per ulteriori informazioni.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

i valori dei parametri di default impostati in-app

È possibile impostare i valori dei parametri di default in-app nell'oggetto Configurazione remota, in modo che i tuoi si comporta app come destinato prima che si collega al back-end Configurazione remota, e in modo che i valori di default sono disponibili se nessuno sono impostati sul backend.

Web version 9

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

Web version 8

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

Se è già stato configurato i valori dei parametri di back-end di configurazione remoto, è possibile scaricare un file JSON generato che include tutti i valori predefiniti e includerlo nel pacchetto app:

RIPOSO

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 Firebase

  1. Nella Parametri scheda, aprire il Menu , selezionare Scarica valori predefiniti .
  2. Quando richiesto, abilitare .json per il web , quindi fare clic su Scarica file .

Gli esempi seguenti mostrano due modi diversi è possibile importare e impostare i valori predefiniti nella vostra app. Il primo esempio utilizza fetch , che farà una richiesta HTTP al file di default incluso nel pacchetto app:


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

Il prossimo esempio usi require , che compila i valori nella vostra applicazione in fase di compilazione:

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

Ottenere i valori dei parametri da utilizzare per le app

Ora è possibile ottenere i valori dei parametri dall'oggetto Configurazione remota. Se in seguito i valori impostato nel backend, li prendere, e poi attivare, quei valori sono a disposizione per il vostro app.To ottenere questi valori, chiamare il getValue() il metodo, che fornisce il tasto del parametro come argomento.

Web version 9

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

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

Web version 8

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

Impostare i valori dei parametri

Utilizzando la console Firebase o le API di back-end di configurazione remoto , è possibile creare nuovi valori di default sul lato server che sostituiscono i valori in-app in base alle proprie logica condizionale desiderato o targeting degli utenti. Questa sezione ti guida attraverso i passi della console Firebase per creare questi valori.

  1. Nella console Firebase , aprire il progetto.
  2. Selezionare Configurazione remota dal menu per visualizzare il cruscotto Configurazione remota.
  3. Definire parametri con gli stessi nomi dei parametri che si è definito nella vostra app. Per ogni parametro, è possibile impostare un valore di default (che alla fine sostituire il valore predefinito in-app) e si può anche impostare i valori condizionali. Per ulteriori informazioni, consultare Remote Config parametri e condizioni .

Fetch e attivare i valori

  1. Per recuperare i valori dei parametri dal backend Configurazione remota, chiamare il fetchConfig() metodo. Eventuali valori impostati sul backend vengono recuperate e cache nell'oggetto Configurazione remota.
  2. Per rendere i valori dei parametri recuperati a disposizione per la vostra applicazione, chiamare l' activate() metodo.

Per i casi in cui si desidera recuperare e attivare i valori in una chiamata, usare fetchAndActivate() , come mostrato in questo esempio:

Web version 9

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

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

Web version 8

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

Poiché questi valori dei parametri aggiornati influenzano il comportamento e l'aspetto della vostra applicazione, è necessario attivare i valori recuperati in un momento che garantisce un'esperienza semplice per l'utente, come ad esempio la prossima volta che l'utente apre l'applicazione. Vedere le strategie di carico di configurazione remota per ulteriori informazioni ed esempi.

throttling

Se un'applicazione recupera troppe volte in un breve periodo di tempo, prendere le chiamate possono essere strozzato. In questi casi, l'SDK lancia un FETCH_THROTTLE errore. Si consiglia di prendere questo errore e tentativi in modalità backoff esponenziale, in attesa intervalli più lunghi tra le successive richieste di recupero.

Durante lo sviluppo di app, si potrebbe desiderare di aggiornare la cache molto frequentemente (molte volte all'ora) per farvi rapidamente iterata come si sviluppa e testare la vostra applicazione. Per ospitare iterazione rapida su un progetto con numerosi sviluppatori, è possibile aggiungere una proprietà temporaneo con un minimo basso prendere intervallo ( Settings.minimumFetchIntervalMillis ) nella vostra applicazione.

Il difetto e produzione raccomandata recuperare intervallo per Configurazione remota è 12 ore, il che significa che configurazioni non viene prelevato dalla backend più di una volta in una finestra di 12 ore, indipendentemente dal numero di chiamate recuperare effettivamente realizzati. Specificamente, il minimo Intervallo recupero è determinato nel seguente ordine:

  1. Il parametro in Settings.minimumFetchIntervalMillis .
  2. Il valore predefinito di 12 ore.

Prossimi passi

Se non l'hai già, esplorare le Configurazione remota casi d'uso , e dare un'occhiata ad alcuni dei concetti chiave e avanzati documentazione strategie, tra cui: