Comprendre la fonctionnalité Remote Config en temps réel

Sélectionnez une plate-forme : iOS+ Android Web Flutter Unity C++

Remote Config en temps réel vous permet de recevoir les clés et valeurs de paramètres mises à jour dès qu'elles sont publiées sur le serveur. Cela vous permet de mettre à jour rapidement n'importe quel type d'attribut d'application contrôlé à l'aide d'une valeur de paramètre Remote Config. Grâce aux mises à jour Remote Config en temps réel, vous pouvez :

  • Réduisez les risques en déployant progressivement les fonctionnalités auprès d'utilisateurs ciblés et en effectuant un rollback d'urgence si nécessaire.
  • Améliorez l'engagement utilisateur en personnalisant rapidement l'expérience des utilisateurs lorsqu'ils se servent de l'application. Par exemple, vous pouvez mettre à jour les bannières et proposer des incitations aux utilisateurs qui correspondent à des propriétés utilisateur Google Analytics spécifiques, ou ajuster de manière dynamique la difficulté du jeu pour des cohortes de joueurs.
  • Réduisez les dépendances de compilation et augmentez la productivité des développeurs : utilisez les paramètres Remote Config comme flags de fonctionnalité pour exposer des fonctionnalités à vos équipes de développement et de test, tout en les masquant aux utilisateurs en production.

Pour en savoir plus sur les façons d'utiliser Remote Config, consultez Que pouvez-vous faire avec Remote Config ?.

Ce guide couvre les sujets suivants :

  • La relation client-serveur qui permet les mises à jour en temps réel.
  • Fonctionnement de la fonctionnalité en temps réel dans le SDK.
  • Comment utiliser les mises à jour en temps réel pour maintenir la configuration de votre application à jour.
  • Bonnes pratiques pour le temps réel Remote Config.

La connexion client-serveur en temps réel

Lorsque vous implémentez Remote Config en temps réel dans votre application, vous créez un écouteur en temps réel qui ouvre une connexion HTTP vers le backend Remote Config. La requête inclut la version de configuration mise en cache sur l'appareil. Le serveur Remote Config en temps réel utilise un message d'invalidation pour signaler à l'application qu'une version plus récente d'une configuration côté serveur doit être récupérée.

Si le serveur dispose d'une version plus récente, il envoie immédiatement le signal d'invalidation. Si aucune version plus récente n'est disponible, il maintient la connexion ouverte et attend qu'une version soit publiée sur le serveur. Lorsque le SDK client reçoit un signal d'invalidation, il le récupère automatiquement, puis appelle le rappel de l'écouteur enregistré lorsque vous avez ouvert la connexion de l'écouteur. Cette récupération est semblable à l'appel de récupération que vous pouvez effectuer avec le SDK, mais elle contourne la mise en cache ou le paramètre minimumFetchInterval. La connexion client-serveur est maintenue tant que l'application est au premier plan.

Workflow client-serveur Remote Config en temps réel
Workflow client-serveur Remote Config en temps réel

Étant donné que la connexion client-serveur est établie via HTTP, elle ne nécessite aucune dépendance vis-à-vis d'autres bibliothèques.

Écouter les mises à jour

Les mises à jour en temps réel complètent les appels Remote Config fetch. Nous vous recommandons d'appeler fetch au démarrage de votre application (ou à un moment donné de son cycle de vie) et d'écouter les mises à jour Remote Config en temps réel pendant la session utilisateur pour vous assurer de disposer des dernières valeurs dès qu'elles sont publiées sur le serveur.

Pour écouter les mises à jour, appelez OnConfigUpdateListener en implémentant un rappel qui est appelé chaque fois qu'une mise à jour Remote Config est disponible dans l'application. En coulisses, cet appel commence à écouter les mises à jour du serveur Remote Config. Pour en savoir plus sur la relation client-serveur, consultez la section précédente.

Le rappel est souvent un bon endroit pour utiliser activate afin de rendre les paramètres de configuration mis à jour disponibles pour votre application. Consultez Stratégies de chargement de Firebase Remote Config pour découvrir d'autres stratégies permettant d'activer les valeurs de paramètre lorsque vous utilisez Remote Config en temps réel.

Activer de manière sélective les valeurs de paramètre

Lorsque vous appelez OnConfigUpdateListener, vous pouvez attendre la modification et l'activer.

Lorsque vous configurez l'écouteur, vous le configurez pour qu'il appelle un gestionnaire d'événements qui est appelé chaque fois qu'une nouvelle version du modèle a été automatiquement récupérée et lorsque cette nouvelle version comporte des modifications. ConfigUpdateEventArgs renvoie configUpdate, qui contient updatedKeys, l'ensemble des clés de paramètre modifiées qui ont déclenché la mise à jour en temps réel, et inclut les éléments suivants :

  • Clés de paramètre ajoutées ou supprimées
  • Clés de paramètre dont les valeurs ont changé
  • Clés de paramètre dont les métadonnées ont changé (par exemple, les informations de personnalisation Remote Config)
  • Clés de paramètre dont la source de valeur a changé (par exemple, une valeur par défaut dans l'application qui est remplacée par une valeur côté serveur)

Si vous utilisez un écouteur en temps réel dans une vue particulière de votre application, vous pouvez vérifier si les paramètres pertinents pour cette vue ont changé avant de l'activer.

Il arrive parfois qu'une récupération (initiée lorsque vous appelez la méthode fetch ou par Remote Config en temps réel) n'entraîne pas de mise à jour pour le client. Dans ce cas, la méthode ou l'achèvement ConfigUpdateEventArgs ne sont pas appelés.

Ajouter et supprimer des écouteurs

OnConfigUpdateListener est le point d'entrée principal pour Remote Config en temps réel. L'appel de cet écouteur pour la première fois dans le cycle de vie de votre application ouvre la connexion au backend. Les appels suivants réutilisent la même connexion, en multiplexant le message d'invalidation décrit dans Connexion client-serveur en temps réel.

Pour arrêter l'écoute sur une connexion, vous devez la supprimer. S'il s'agit du seul écouteur enregistré, la connexion en temps réel au serveur est fermée. Pour obtenir un exemple, consultez Écouter les mises à jour en temps réel. Pour arrêter l'écoute, stockez la référence à l'enregistrement de l'écouteur. Appelez remove pour arrêter l'écoute de cet enregistrement. S'il s'agit du seul écouteur enregistré, l'appel de remove ferme la connexion en temps réel au serveur.

Bien que vous puissiez arrêter manuellement l'écoute des mises à jour, cela n'est souvent pas nécessaire. Remote Config en temps réel arrête automatiquement d'écouter les mises à jour lorsque l'application passe en arrière-plan et redémarre lorsqu'elle passe au premier plan.

Étapes suivantes

Consultez Premiers pas avec FirebaseRemote Config pour configurer Remote Config et commencer à écouter les mises à jour en temps réel.