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.

La biblioteca de Remote Config 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. Para obtener más información, consulte Estrategias de carga de Remote Config .

Paso 1: agrega Firebase a tu aplicación

Antes de poder utilizar Remote Config , debe:

  • Registre su proyecto C++ y configúrelo para usar Firebase.

    Si su proyecto de C++ ya usa Firebase, entonces ya está registrado y configurado para Firebase.

  • Agrega el SDK de Firebase C++ a tu proyecto de C++.

Tenga en cuenta que agregar Firebase a su proyecto de C++ implica tareas tanto en Firebase console como en su proyecto de C++ abierto (por ejemplo, descarga archivos de configuración de Firebase desde la consola y luego los mueve a su proyecto de C++).

Paso 2: agregue Remote Config a su aplicación

Androide

Después de haber agregado Firebase a tu aplicación:

  1. Cree una aplicación Firebase, pasando el entorno JNI y la actividad:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. Inicialice la biblioteca de Remote Config, como se muestra:

    ::firebase::remote_config::Initialize(app);

iOS+

Después de haber agregado Firebase a tu aplicación:

  1. Crear una aplicación Firebase:

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. Inicialice la biblioteca de Remote Config, como se muestra:

    ::firebase::remote_config::Initialize(app);

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.

  1. Defina un conjunto de nombres de parámetros y valores de parámetros predeterminados usando un objeto std::map<const char*, const char*> o un objeto std::map<const char*, firebase::Variant> .

    Si ya configuró los valores de los parámetros de backend de Remote Config, puede descargar un archivo que contenga estos pares clave/valor y usarlo para construir su objeto map . Para obtener más información, consulte Descargar los valores predeterminados de la plantilla de Remote Config .

  2. Agregue estos valores al objeto Remote Config usando SetDefaults() .

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 de Remote Config, los recupera y luego los activa, esos valores está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:

Paso 5: establecer los valores de los parámetros

  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 en la aplicación) y 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 se almacena en caché en el objeto de Remote Config.
  2. Para que los valores de parámetros recuperados estén disponibles para su aplicación, llame a ActivateFetched()

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.

Las actualizaciones en tiempo real son compatibles con Firebase C++ SDK v11.0.0+ y versiones posteriores para plataformas Android y Apple.

  1. En su aplicación, llame a AddOnConfigUpdateListener para comenzar a escuchar actualizaciones y recuperar automáticamente cualquier valor de parámetro nuevo o actualizado. El siguiente ejemplo detecta actualizaciones y, cuando se llama Activate , utiliza los valores recién obtenidos para mostrar un mensaje de bienvenida actualizado.
remote_config->AddOnConfigUpdateListener(
    [](firebase::remote_config::ConfigUpdate&& config_update,
       firebase::remote_config::RemoteConfigError remote_config_error) {
      if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) {
        printf("Error listening for config updates: %d", remote_config_error);
      }
      // Search the `updated_keys` set for the key "welcome_message."
      // `updated_keys` represents the keys that have changed since the last
      // fetch.
      if (std::find(config_update.updated_keys.begin(),
                    config_update.updated_keys.end(),
                    "welcome_message") != config_update.updated_keys.end()) {
        remote_config->Activate().OnCompletion(
            [&](const firebase::Future& completed_future,
               void* user_data) {
              // The key "welcome_message" was found within `updated_keys` and
              // can be activated.
              if (completed_future.error() == 0) {
                DisplayWelcomeMessage();
              } else {
                printf("Error activating config: %d", completed_future.error());
              }
            },
            nullptr);
      }
    });

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 llamarán al detector de actualizaciones de configuración.

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: