Comprendre la configuration à distance en temps réel


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

  • Réduisez les risques en déployant progressivement les fonctionnalités auprès des utilisateurs ciblés et en effectuant une restauration d'urgence si nécessaire.
  • Augmentez l'engagement des utilisateurs en personnalisant rapidement les expériences des utilisateurs lorsqu'ils utilisent l'application. Par exemple, vous pouvez mettre à jour les bannières et offrir des incitations aux utilisateurs qui correspondent à des propriétés utilisateur spécifiques de Google Analytics ou ajuster dynamiquement la difficulté du jeu pour des cohortes de joueurs.
  • Réduisez les dépendances de build et augmentez la productivité des développeurs : utilisez les paramètres de configuration à distance comme indicateurs de fonctionnalités pour exposer les fonctionnalités à vos équipes de développement et de test, tout en les gardant cachées aux utilisateurs en production.

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

Dans ce guide, vous allez :

  • Apprenez-en davantage sur la relation client-serveur qui prend en charge les mises à jour en temps réel.
  • Comprenez comment fonctionne la fonctionnalité en temps réel du SDK.
  • Découvrez comment utiliser les mises à jour en temps réel pour maintenir la configuration de votre application à jour.

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 au backend Remote Config. La demande inclut la version de configuration actuellement mise en cache sur l'appareil. Le serveur Remote Config en temps réel utilise un message d'invalidation pour signaler à l'application lorsqu'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. S'il ne dispose pas d'une version plus récente, 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 d'écoute enregistré lorsque vous avez ouvert la connexion d'écoute. Cette récupération est similaire à l'appel de récupération que vous pouvez effectuer avec le SDK, mais contourne toute mise en cache ou paramètre minimumFetchInterval . La connexion client-serveur est maintenue lorsque l'application est au premier plan.

Flux de travail client-serveur Remote Config en temps réel

Étant donné que la connexion client-serveur s'effectue via HTTP, elle ne nécessite aucune dépendance sur d'autres bibliothèques.

Écoutez les mises à jour

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

Pour écouter les mises à jour, appelezaddOnConfigUpdateListener ,implémentant un rappel invoqué chaque fois qu'une mise à jour de configuration à distance est disponible dans le 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 pour rendre les paramètres de configuration mis à jour disponibles pour votre application. Consultez les stratégies de chargement de la configuration à distance Firebase pour connaître des stratégies supplémentaires permettant d'activer les valeurs des paramètres lorsque vous utilisez la configuration à distance en temps réel.

Activer sélectivement les valeurs des paramètres

Lorsque vous appelezaddOnConfigUpdateListener ,vous pouvez attendre le changement et l'activer.

Le rappel onUpdate est appelé lorsqu'une nouvelle version du modèle a été automatiquement récupérée et lorsque cette nouvelle version a modifié les valeurs des paramètres actuellement activés dans l'application.

Ces rappels sont invoqués avec un paramètre configUpdate . configUpdate contientupdatedKeys ,qui est l'ensemble des clés de paramètres modifiées qui ont lancé la mise à jour en temps réel et comprend les éléments suivants :

  • Clés de paramètres ajoutées ou supprimées
  • Clés de paramètres dont les valeurs ont changé
  • Clés de paramètre dont les métadonnées ont changé (par exemple, les informations de personnalisation de Remote Config)
  • Clés de paramètre dont la source de valeur a changé (par exemple, une valeur par défaut dans l'application mise à jour vers 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.

Parfois, une récupération (soit lancée lorsque vous appelez la méthode fetch , soit par Remote Config en temps réel) n'entraîne pas de mise à jour pour le client. Dans ces cas, la méthode ou la complétiononUpdatene sera pas appelée.

Ajouter et supprimer des auditeurs

addOnConfigUpdateListenerest le point d'entrée principal pour la configuration à distance en temps réel. Appeler 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 la connexion client-serveur en temps réel .

L'appel renvoie un "enregistrement d'auditeur", qui a une méthode appeléeremove .

Pour arrêter l'écoute, stockez la référence à l'enregistrement de l'auditeur. Appelez remove pour arrêter l’écoute lors de cette inscription. S'il s'agit du seul écouteur enregistré, l'appel à remove ferme la connexion en temps réel au serveur.

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

Prochaines étapes

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