Modèles et gestion des versions Remote Config

Les modèles Remote Config sont des ensembles de paramètres et de conditions au format JSON créés pour votre projet Firebase. Remote Config organise les configurations dans des modèles qui peuvent être créés, mis à jour, versionnés et restaurés.

En fonction de votre architecture, vous pouvez créer et gérer des modèles de client, des modèles de serveur ou les deux :

  • Modèles de client : diffusez des configurations aux instances d'application cliente sur les plates-formes Apple, Android, Web, Flutter, Unity et C++. Les modèles de client sont compatibles avec les conditions basées sur les audiences Google Analytics, les versions d'application, la plate-forme, la langue de l'appareil, le pays, les centiles d'utilisateurs et les signaux personnalisés.

  • Modèles de serveur : diffusez des configurations vers des environnements de backend tels que Cloud Run, Cloud Functions for Firebase ou des serveurs conteneurisés à l'aide de Firebase Admin SDK pour Node.js, Python, Go et Java. Les modèles de serveur évaluent les paramètres côté serveur avec une latence quasi nulle à l'aide de signaux personnalisés de serveur et de déploiements de pourcentage aléatoires.

Comparer les modèles client et serveur

Les modèles client et serveur sont gérés indépendamment dans votre projet Firebase. Le tableau suivant vous permet de comprendre la différence entre les modèles client et serveur :

Fonctionnalité Modèles client Modèles de serveur
Environnements cibles Applications clientes (Apple, Android, Web, Flutter, Unity, C++) Environnements serveur (Cloud Run, Cloud Functions for Firebase, GKE, services de backend)
SDK compatibles SDK client Firebase Firebase Admin SDK (Node.js, Python, Go, Java)
Outils de gestion Firebase console, Firebase CLI, API REST, Firebase Admin SDK Console Firebase
Emplacement de la console Paramètres et Conditions Paramètres et Conditions
Télécharger les valeurs par défaut du modèle Pris en charge (XML pour Android, PLIST pour iOS, JSON pour le Web) Non applicable (valeurs par défaut définies dans le code du serveur ou le backend)
Guide détaillé Gérer les modèles de clients Gérer les modèles de serveur

Cycle de vie et gestion des versions des modèles

Que vous travailliez avec des modèles client ou serveur, Remote Config fournit un contrôle des versions et une gestion du cycle de vie intégrés :

Création et suivi des versions

Chaque fois que vous mettez à jour des paramètres ou des conditions, Remote Config crée un modèle Remote Config avec une nouvelle version et stocke le modèle précédent en tant que version que vous pouvez récupérer ou effectuer un rollback si nécessaire. Les numéros de version sont incrémentés de manière séquentielle à partir de la valeur initiale stockée par Remote Config.

Tous les modèles incluent un champ version contenant des métadonnées sur cette version spécifique, telles que :

  • versionNumber : numéro de version séquentiel du modèle.
  • updateTime : code temporel de la publication du modèle.
  • updateUser : adresse e-mail ou identité de l'utilisateur qui a effectué la modification.
  • updateOrigin : la façon dont la modification a été apportée (par exemple, CONSOLE, REST_API ou ADMIN_SDK_NODE).
  • updateType : nature de la modification (par exemple, INCREMENTAL_UPDATE ou FORCED_UPDATE).

Limites et conservation des versions

Le nombre total de versions stockées est limité à 300 par type de modèle (300 modèles client et 300 modèles serveur), y compris les numéros de version stockés pour les modèles supprimés. Si vous publiez plus de 300 versions de modèle par type de modèle au cours de la durée de vie d'un projet, les versions les plus anciennes sont supprimées, ce qui permet de conserver un maximum de 300 versions de ce type.

Rollbacks

Vous pouvez revenir à n'importe quelle version enregistrée d'un modèle à tout moment. Lorsque vous effectuez un rollback, Remote Config crée une version dont le contenu correspond à la version historique sélectionnée. Par exemple, si vous revenez de la version 10 à la version 6, la version 11 sera créée avec la configuration de la version 6.

Importation et exportation

Vous pouvez télécharger votre modèle actif sous forme de fichier JSON et le publier dans le même projet ou dans un autre. Cette fonctionnalité vous permet d'effectuer les actions suivantes :

  • Stockez les définitions de modèles dans un système de contrôle des sources (tel que Git).
  • Intégrez les déploiements de configuration dans les pipelines CI/CD.
  • Promouvoir des configurations entre les étapes (par exemple, d'un projet de développement ou de préproduction vers la production)
  • Migrez les configurations entre les projets.

Les paramètres et leurs valeurs créés spécifiquement en tant que variantes dans un test A/B Testing ne sont pas inclus dans les modèles exportés.

Valeurs par défaut du modèle

Pour les applications clientes, vous pouvez télécharger des fichiers contenant les valeurs par défaut des paramètres au format XML, PLIST ou JSON à regrouper avec votre application. Pour obtenir des instructions, consultez Télécharger les valeurs par défaut du modèle Remote Config.

Étapes suivantes