Puedes usar Firebase Remote Config para definir parámetros en tu aplicación y actualizar sus valores en la nube, lo que te permite modificar la apariencia y el comportamiento de tu 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 código de muestra, todo el cual está disponible para clonar o descargar desde el repositorio de GitHub firebase/quickstart-js .
Paso 1: Agregar e inicializar el SDK de Remote Config
Si aún no lo has hecho, instala el SDK de Firebase JS e inicializa Firebase .
Agregue el SDK JS de Remote Config e inicialice Remote Config:
API modular 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 con espacio de nombres 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 se utiliza para almacenar valores de parámetros predeterminados en la aplicación, recuperar valores de parámetros actualizados desde el backend de Remote Config y controlar cuándo los valores recuperados están disponibles para su aplicación.
Paso 2: establecer 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 modular API
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Web namespaced API
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, de modo 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 hay ninguno configurado en el backend.
Web modular API
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Web namespaced API
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Si ya configuró los valores de los parámetros del backend de Remote Config, puede descargar un archivo JSON generado que incluya todos los valores predeterminados e incluirlo en su paquete de aplicación:
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 de base de fuego
- En la pestaña Parámetros , abra el menú y seleccione Descargar valores predeterminados .
- 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 utiliza fetch
, que realizará una solicitud HTTP al archivo predeterminado incluido en tu paquete de aplicación:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
El siguiente ejemplo utiliza 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 recupera 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 modular API
import { getValue } from "firebase/remote-config"; const val = getValue(remoteConfig, "welcome_messsage");
Web namespaced API
const val = remoteConfig.getValue("welcome_messsage");
Paso 5: establecer los valores de los parámetros
Con la consola Firebase o las API de backend de Remote Config , puedes crear nuevos valores predeterminados del lado del servidor que anulan los valores en la aplicación según la lógica condicional o la orientación del usuario que desees. Esta sección lo guía a través de los pasos de Firebase console para crear estos valores.
- En Firebase console , abre tu proyecto.
- Seleccione Remote Config en el menú para ver el panel de Remote Config.
- 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 Remote Config .
Paso 6: buscar y activar valores
- Para recuperar valores de parámetros del backend de Remote Config, llame al método
fetchConfig()
. Cualquier valor que establezca en el backend se recupera y se almacena en caché en el objeto de Remote Config. - Para que los valores de los parámetros recuperados estén disponibles para su aplicación, llame al método
activate()
.
Para los casos en los que desee recuperar y activar valores en una sola llamada, utilice fetchAndActivate()
como se muestra en este ejemplo:
Web modular API
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Web namespaced API
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 recuperados 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 se recupera demasiadas veces en un corto período de tiempo, es posible que se limiten las llamadas de recuperación. En tales casos, el SDK genera un error FETCH_THROTTLE
. Se recomienda detectar este error y volver a intentarlo en modo de retroceso exponencial, esperando intervalos más largos entre solicitudes de recuperación posteriores.
Durante el desarrollo de la aplicación, es posible que desee actualizar el caché con mucha frecuencia (muchas veces por hora) para poder iterar rápidamente a medida que desarrolla y prueba su aplicación. Para permitir una 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:
- El parámetro en
Settings.minimumFetchIntervalMillis
. - El valor predeterminado de 12 horas.
Próximos pasos
Si aún no lo ha hecho, explore los casos de uso de Remote Config y eche un vistazo a algunos de los conceptos clave y la documentación de estrategias avanzadas, que incluyen: