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

Comience con Firebase Remote Config

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.


Puede usar Firebase Remote Config para definir parámetros en su aplicación y actualizar sus valores en la nube, lo que le permite modificar la apariencia y el comportamiento de su aplicación sin distribuir una actualización de la aplicación. Esta guía lo guía a través de los pasos para comenzar y proporciona algunos códigos de muestra, todos los cuales están disponibles para clonar o descargar desde el repositorio firebase/quickstart-js GitHub.

Paso 1: Agregar e inicializar el SDK de Remote Config

  1. Si aún no lo ha hecho, instale el SDK de Firebase JS e inicialice Firebase .

  2. Agregue el SDK de Remote Config JS e inicialice 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();

Este objeto se usa para almacenar valores de parámetros predeterminados en la aplicación, obtener valores de parámetros actualizados desde el backend de Remote Config y controlar cuándo los valores obtenidos están disponibles para su aplicación.

Paso 2: establece el intervalo de recuperación mínimo

Durante el desarrollo, se recomienda establecer un intervalo de recuperación mínimo relativamente bajo. Consulte Limitación para obtener más información.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Paso 3: establecer valores de parámetros predeterminados en la aplicación

Puede establecer valores de parámetros predeterminados en la aplicación en el objeto de Remote Config, para que su aplicación se comporte según lo previsto antes de conectarse al backend de Remote Config, y para que los valores predeterminados estén disponibles si no se establece ninguno en el backend.

Web version 9

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

Web version 8

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

Si ya configuró los valores de los parámetros de back-end de Remote Config, puede descargar un archivo JSON generado que incluye todos los valores predeterminados e incluirlo en su paquete de aplicaciones:

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

consola base de fuego

  1. En la pestaña Parámetros , abra el menú y seleccione Descargar valores predeterminados .
  2. Cuando se le solicite, habilite .json para web y luego haga clic en Descargar archivo .

Los siguientes ejemplos muestran dos formas diferentes de importar y establecer valores predeterminados en su aplicación. El primer ejemplo usa fetch , que realizará una solicitud HTTP al archivo predeterminado incluido en su paquete de aplicaciones:


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

El siguiente ejemplo usa require , que compila los valores en su aplicación en el momento de la compilación:

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

Paso 4: obtenga valores de parámetros para usar en su aplicación

Ahora puede obtener valores de parámetros del objeto Remote Config. Si luego establece valores en el backend, los obtiene y luego los activa, esos valores estarán disponibles para su aplicación. Para obtener estos valores, llame al método getValue() y proporcione la clave del parámetro como 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");

Paso 5: establecer los valores de los parámetros

Con Firebase console o las API de backend de Remote Config , puede crear nuevos valores predeterminados del lado del servidor que anulan los valores en la aplicación de acuerdo con la lógica condicional deseada o la orientación del usuario. Esta sección lo guía a través de los pasos de la consola Firebase para crear estos valores.

  1. En la consola de Firebase , abre tu proyecto.
  2. Seleccione Configuración remota en el menú para ver el panel de configuración remota.
  3. Defina parámetros con los mismos nombres que los parámetros que definió en su aplicación. Para cada parámetro, puede establecer un valor predeterminado (que eventualmente anulará el valor predeterminado en la aplicación) y también puede establecer valores condicionales. Para obtener más información, consulte Parámetros y condiciones de configuración remota .

Paso 6: Obtener y activar valores

  1. Para obtener valores de parámetros del backend de Remote Config, llama al método fetchConfig() . Todos los valores que establezca en el backend se recuperan y se almacenan en caché en el objeto de configuración remota.
  2. Para que los valores de los parámetros obtenidos estén disponibles para su aplicación, llame al método activate() .

Para los casos en los que desee obtener y activar valores en una sola llamada, use fetchAndActivate() como se muestra en este ejemplo:

Web version 9

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

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

Web version 8

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

Debido a que estos valores de parámetros actualizados afectan el comportamiento y la apariencia de su aplicación, debe activar los valores obtenidos en un momento que garantice una experiencia fluida para su usuario, como la próxima vez que el usuario abra su aplicación. Consulte Estrategias de carga de Remote Config para obtener más información y ejemplos.

estrangulamiento

Si una aplicación recupera demasiadas veces en un período de tiempo corto, las llamadas de recuperación pueden verse limitadas. En tales casos, el SDK arroja un error FETCH_THROTTLE . Se recomienda detectar este error y volver a intentarlo en modo de retroceso exponencial, esperando intervalos más prolongados entre las solicitudes de recuperación posteriores.

Durante el desarrollo de la aplicación, es posible que desee actualizar la memoria caché con mucha frecuencia (muchas veces por hora) para permitirle iterar rápidamente a medida que desarrolla y prueba su aplicación. Para adaptarse a la iteración rápida en un proyecto con numerosos desarrolladores, puede agregar temporalmente una propiedad con un intervalo de recuperación mínimo bajo ( Settings.minimumFetchIntervalMillis ) en su aplicación.

El intervalo de recuperación de producción predeterminado y recomendado para Remote Config es de 12 horas, lo que significa que las configuraciones no se recuperarán del backend más de una vez en un período de 12 horas, independientemente de cuántas llamadas de recuperación se realicen realmente. Específicamente, el intervalo de recuperación mínimo se determina en el siguiente orden:

  1. El parámetro en Settings.minimumFetchIntervalMillis .
  2. El valor predeterminado 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: