Configurar Firebase Remote Config en un proyecto Flutter


Avatar de Pedro Cortez

¿Quieres almacenar valores en el back-end de tu aplicación para poder modificarla sin necesidad de volver a publicarla? En esta guía rápida, te explico cómo implementar la solución de Remote Config de Firebase.


firebase remote config

¿Para qué sirve Firebase Remote Config?

Firebase Remote Config es un servicio de Firebase que permite modificar dinámicamente el comportamiento y la apariencia de una aplicación sin necesidad de volver a publicarla. Es especialmente útil para:

  • Cambiar la interfaz de usuario de forma remota: Modificar colores, textos o imágenes sin necesidad de actualizar la app.
  • Activar o desactivar funciones: Implementar nuevas características progresivamente para un grupo específico de usuarios.
  • Personalizar la experiencia del usuario: Mostrar contenido adaptado según segmentos de audiencia creados con Google Analytics.
  • Realizar pruebas A/B: Comparar diferentes variantes de una función para optimizar la participación del usuario.
  • Almacenar información en el back-end, como una clave de API para reutilizarla más tarde.

Precios de Firebase Remote Config

Firebase Remote Config es gratuito hasta 5,000 actualizaciones por proyecto y por día. Si se supera este límite, Google cobra según el uso adicional.

PlanLímite diarioPrecio
Gratuito5,000 actualizaciones0 €
De pagoMás de 5,000 actualizacionesSegún el uso

Paso 1: Agregar el paquete Remote Config

Si aún no lo has hecho, el primer paso para integrar Remote Config en tu proyecto Flutter es configurar Firebase. Una vez listo, instala los paquetes necesarios con estos comandos:

flutter pub add firebase_core
flutter pub add firebase_remote_config
flutter pub add firebase_analytics

Firebase Analytics solo es necesario si deseas usar segmentación condicional basada en audiencias.

Luego, importa los paquetes en tus archivos Dart:

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:firebase_analytics/firebase_analytics.dart';

Paso 2: Crear una configuración en Firebase Remote Config

El siguiente paso es almacenar en Firebase las variables que usarás en la app.

  1. Abre la Consola de Firebase y selecciona tu proyecto.
  2. En «Todos los productos», elige Remote Config.
  3. Haz clic en Crear una configuración y añade las variables que deseas almacenar. Ejemplos:
    • welcome_message: "¡Bienvenido a nuestra aplicación!"
    • feature_toggle: true (para activar una nueva función)
    • discount_rate: 0.15 (para modificar un porcentaje de descuento en tiempo real)
  4. Publica los cambios para que las variables estén disponibles en la app.

Otra forma de utilizarlo es almacenando información en el back-end para reutilizarla más tarde, como una clave API.

Paso 3: Configurar Firebase Remote Config en Flutter

Ahora, debes crear una instancia de Remote Config en tu proyecto Flutter y recuperar los valores almacenados.

1. Inicializar Remote Config

//Puedes hacerlo en la función main() o cuando el usuario presione un botón
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

2. Obtener valores almacenados

String welcomeMessage = remoteConfig.getString('welcome_message');
bool isFeatureEnabled = remoteConfig.getBool('feature_toggle');
int maxItems = remoteConfig.getInt('max_items');
double discountRate = remoteConfig.getDouble('discount_rate');

3. Definir valores predeterminados (en caso de que los valores remotos aún no estén disponibles)

await remoteConfig.setDefaults({
    "welcome_message": "¡Bienvenido!",
    "feature_toggle": false,
    "discount_rate": 0.10,
});

4. Forzar la actualización de los valores de Remote Config

await remoteConfig.fetchAndActivate();
Avatar de Pedro Cortez