Comience con Firebase Remote Config


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.

Paso 1: agrega Firebase y el SDK de Remote Config a tu aplicación

  1. Instala e inicializa los SDK de Firebase para Flutter si aún no lo has hecho.

  2. Para Remote Config, se requiere Google Analytics para la orientación condicional de instancias de aplicaciones a audiencias y propiedades de usuario. Asegúrese de habilitar Google Analytics en su proyecto.

  3. Desde el directorio raíz de su proyecto Flutter, ejecute el siguiente comando para instalar el complemento Remote Config:

    flutter pub add firebase_remote_config
    

    Además, como parte de la configuración de Remote Config, debes agregar el SDK de Firebase para Google Analytics a tu aplicación:

    flutter pub add firebase_analytics
    
  4. Reconstruya su proyecto:

    flutter run
    
  5. Si está utilizando Remote Config en macOS, habilite Compartir llaveros en Xcode.

Paso 2: Obtenga el objeto singleton de Remote Config

Obtenga una instancia de objeto de Remote Config y establezca el intervalo de recuperación mínimo para permitir actualizaciones frecuentes:

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

El objeto singleton se utiliza para almacenar valores de parámetros predeterminados en la aplicación, recuperar valores de parámetros actualizados desde el backend y controlar cuándo los valores recuperados están disponibles para su aplicación.

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

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 se establece ninguno en el backend.

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

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 establece valores en el backend, los recupera y luego los activa, esos valores estarán disponibles para su aplicación. De lo contrario, obtendrás los valores de los parámetros en la aplicación configurados usando setDefaults() .

Para obtener estos valores, llame al método que se enumera a continuación que se asigna al tipo de datos esperado por su aplicación, proporcionando la clave del parámetro como argumento:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

Paso 5: Establecer los valores de los parámetros en el backend de Remote Config

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 describe los pasos de Firebase console para crear estos valores.

  1. En Firebase console , abre tu proyecto.
  2. Seleccione Remote Config en el menú para ver el panel de Remote Config.
  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 correspondiente 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

  1. Para recuperar valores de parámetros del backend de Remote Config, llame al método fetch() . Cualquier valor que establezca en el backend se recupera y almacena en el objeto de Remote Config.

  2. 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, puede usar una solicitud fetchAndActivate() para recuperar valores del backend de Remote Config y ponerlos a disposición de la aplicación:

    await remoteConfig.fetchAndActivate();
    

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.

Paso 7: escuche las actualizaciones en tiempo real

Después de recuperar los valores de los parámetros, puede usar Remote Config en tiempo real para escuchar las actualizaciones desde el backend de Remote Config. Remote Config en tiempo real envía señales a los dispositivos conectados cuando hay actualizaciones disponibles y recupera automáticamente los cambios después de publicar una nueva versión de Remote Config.

Tenga en cuenta que Remote Config en tiempo real no está disponible para la Web.

  1. En su aplicación, use onConfigUpdated para comenzar a escuchar actualizaciones y recuperar automáticamente cualquier valor de parámetro nuevo.

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. La próxima vez que publique una nueva versión de su Remote Config, los dispositivos que ejecutan su aplicación y escuchan los cambios activarán la nueva configuración.

estrangulamiento

Si una aplicación se recupera demasiadas veces en un corto período de tiempo, las llamadas de recuperación se limitarán y el valor de la propiedad lastFetchStatus de FirebaseRemoteConfig será RemoteConfigFetchStatus.throttle .

El intervalo de recuperación mínimo predeterminado 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.

Durante el desarrollo de la aplicación, si no utiliza Remote Config en tiempo real (que recomendamos), es posible que desee buscar y activar configuraciones con mucha frecuencia (muchas veces por hora) para permitirle iterar rápidamente a medida que desarrolla y prueba su aplicación. Para permitir una iteración rápida en un proyecto con hasta 10 desarrolladores, puedes establecer temporalmente un intervalo de recuperación mínimo bajo con setConfigSettings() .

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

Próximos pasos

Si aún no lo ha hecho, explore los casos de uso de configuración remota y eche un vistazo a algunos de los conceptos clave y la documentación de estrategias avanzadas, que incluyen: