Premiers pas avec Firebase Remote Config


Vous pouvez utiliser Firebase Remote Config pour définir des paramètres dans votre application et mettre à jour leurs valeurs dans le cloud. Vous pouvez ainsi modifier l'apparence et le comportement de votre application sans distribuer de mise à jour.

La bibliothèque Remote Config permet de stocker les valeurs de paramètre par défaut dans l'application, de récupérer les valeurs de paramètre mises à jour à partir du backend Remote Config et de contrôler le moment où les valeurs récupérées sont mises à la disposition de votre application. Pour en savoir plus, consultez la section Stratégies de chargement Remote Config.

Étape 1: Ajoutez Firebase à votre application

Avant de pouvoir utiliser Remote Config, vous devez:

  • Enregistrez votre projet C++ et configurez-le pour utiliser Firebase.

    Si votre projet C++ utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.

  • Ajoutez le SDK C++ Firebase à votre projet C++.

Notez que l'ajout de Firebase à votre projet C++ implique des tâches à la fois dans la console Firebase et dans votre projet C++ ouvert (par exemple, vous téléchargez des fichiers de configuration Firebase à partir de la console, puis les déplacez dans votre projet C++).

Étape 2: Ajoutez Remote Config à votre application

Android

Une fois que vous avez ajouté Firebase à votre application:

  1. Créez une application Firebase en transmettant l'environnement JNI et l'activité:

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

  2. Initialisez la bibliothèque Remote Config, comme illustré:

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

iOS+

Une fois que vous avez ajouté Firebase à votre application:

  1. Créez une application Firebase:

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

  2. Initialisez la bibliothèque Remote Config, comme illustré:

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

Étape 3: Définir les valeurs par défaut des paramètres dans l'application

Vous pouvez définir des valeurs de paramètre par défaut dans l'application dans l'objet Remote Config afin que votre application se comporte comme prévu avant de se connecter au backend Remote Config et que des valeurs par défaut soient disponibles si aucune n'est définie sur le backend.

  1. Définissez un ensemble de noms de paramètres et de valeurs de paramètres par défaut à l'aide d'un objet ConfigKeyValue* ou d'un objet ConfigKeyValueVariant* avec la taille du tableau.

    Si vous avez déjà configuré des valeurs de paramètre de backend Remote Config, vous pouvez télécharger un fichier contenant ces paires clé/valeur et l'utiliser pour créer votre objet map. Pour en savoir plus, consultez la section Télécharger les valeurs par défaut du modèle Remote Config.

  2. Ajoutez ces valeurs à l'objet Remote Config à l'aide de SetDefaults().

Étape 4: Obtenez les valeurs de paramètre à utiliser dans votre application

Vous pouvez maintenant obtenir les valeurs des paramètres à partir de l'objet Remote Config. Si vous définissez des valeurs dans le backend Remote Config, les extrayez, puis les activez, ces valeurs sont disponibles pour votre application. Sinon, vous obtenez les valeurs de paramètre dans l'application configurées à l'aide de SetDefaults().

Pour obtenir ces valeurs, appelez la méthode listée ci-dessous qui correspond au type de données attendu par votre application, en fournissant la clé de paramètre comme argument:

Étape 5: Définir les valeurs des paramètres

  1. Dans la console Firebase, ouvrez votre projet.
  2. Sélectionnez Remote Config dans le menu pour afficher le tableau de bord Remote Config.
  3. Définissez des paramètres portant les mêmes noms que ceux que vous avez définis dans votre application. Pour chaque paramètre, vous pouvez définir une valeur par défaut (qui remplacera éventuellement la valeur par défaut dans l'application) et des valeurs conditionnelles. Pour en savoir plus, consultez la section Paramètres et conditions Remote Config.

Étape 6: Extrayez et activez les valeurs

  1. Pour extraire les valeurs de paramètre du backend Remote Config, appelez la méthode Fetch(). Toutes les valeurs que vous définissez sur le backend sont extraites et mises en cache dans l'objet Remote Config.
  2. Pour mettre les valeurs de paramètre récupérées à la disposition de votre application, appelez ActivateFetched().

Étape 7: Écoutez les mises à jour en temps réel

Après avoir extrait les valeurs des paramètres, vous pouvez utiliser Remote Config en temps réel pour écouter les mises à jour du backend Remote Config. Remote Config en temps réel envoie des signaux aux appareils connectés lorsque des mises à jour sont disponibles et récupère automatiquement les modifications après la publication d'une nouvelle version de Remote Config.

Les mises à jour en temps réel sont compatibles avec le SDK C++ Firebase version 11.0.0 ou ultérieure pour les plates-formes Android et Apple.

  1. Dans votre application, appelez AddOnConfigUpdateListener pour commencer à écouter les mises à jour et à extraire automatiquement les nouvelles valeurs de paramètre ou celles mises à jour. L'exemple suivant écoute les mises à jour et, lorsque Activate est appelé, utilise les valeurs nouvellement extraites pour afficher un message d'accueil mis à jour.
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 prochaine fois que vous publierez une nouvelle version de votre Remote Config, les appareils qui exécutent votre application et écoutent les modifications appelleront l'écouteur de mise à jour de la configuration.

Étapes suivantes

Si ce n'est pas déjà fait, explorez les Remote Config cas d'utilisation et consultez certains des concepts clés et la documentation sur les stratégies avancées, y compris: