| Sélectionnez une plate-forme : | iOS+ Android Web Flutter Unity C++ |
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. Ce guide vous explique comment commencer et fournit des exemples de code.
Étape 1 : Ajouter Firebase et le SDK Remote Config à votre application
Installez et initialisez les SDK Firebase pour Flutter si ce n'est pas déjà fait.
Pour Remote Config, Google Analytics est requis pour le ciblage conditionnel de propriétés utilisateur et d'audiences avec des instances d'application. Assurez-vous d' activer Google Analytics dans votre projet.
Dans le répertoire racine de votre projet Flutter, exécutez la commande suivante pour installer le plug-in Remote Config :
flutter pub add firebase_remote_configDe plus, lors de la configuration de Remote Config, vous devez ajouter le SDK Firebase pour Google Analytics à votre application :
flutter pub add firebase_analyticsRecréez votre projet :
flutter runSi vous utilisez Remote Config sur macOS, activez le partage de trousseaux dans Xcode.
Étape 2 : Extraire l'objet Singleton Remote Config
Extrayez une instance d'objet Remote Config et définissez l'intervalle minimal d'extraction pour effectuer régulièrement des actualisations :
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
L'objet Singleton est utilisé pour stocker les valeurs de paramètre par défaut dans l'application, extraire les valeurs de paramètre mises à jour du backend et contrôler le moment où les valeurs extraites sont mises à la disposition de votre application.
Lors du développement, il est recommandé de définir un intervalle minimal d'extraction relativement faible. Pour en savoir plus, consultez la section Limitations.
Étape 3 : Définir les valeurs de paramètre par défaut dans l'application
Vous pouvez définir des valeurs de paramètre par défaut dans l'application dans l'objet Remote Config. Ainsi, votre application se comporte comme prévu avant de se connecter au backend Remote Config, et des valeurs par défaut sont disponibles si aucune n'est définie dans le backend.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
Étape 4 : Obtenir les valeurs de paramètre à utiliser dans votre application
Vous pouvez maintenant obtenir les valeurs de paramètre à partir de l'objet Remote Config. Si vous définissez des valeurs dans le backend, que vous les extrayez, puis que vous 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 l'une des méthodes suivantes qui correspondent au type de données attendu par votre application, en fournissant la clé de paramètre comme argument :
getBool()getDouble()getInt()getString()
Étape 5 : Définir les valeurs de paramètre dans le backend Remote Config
À l'aide de la console Firebase ou des API du backend Remote Config, vous pouvez créer des valeurs par défaut côté serveur qui remplacent les valeurs dans l'application en fonction de la logique conditionnelle ou du ciblage utilisateur souhaités. Cette section décrit les étapes à suivre dans la console Firebase pour créer ces valeurs.
- Dans la console Firebase, ouvrez votre projet.
- Sélectionnez Remote Config dans le menu pour afficher le tableau de bord Remote Config.
- 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 finira par remplacer la valeur par défaut correspondante dans l'application) et des valeurs conditionnelles. Pour en savoir plus, consultez Paramètres et conditions Remote Config.
Étape 6 : Extraire et activer les valeurs
Pour extraire les valeurs de paramètre du backend Remote Config, appelez la méthode
fetch(). Toutes les valeurs que vous définissez dans le backend sont extraites et stockées dans l'objet Remote Config.Pour mettre les valeurs de paramètre extraites à la disposition de votre application, appelez la méthode
activate().Si vous souhaitez extraire et activer des valeurs en un seul appel, vous pouvez utiliser une requête
fetchAndActivate()pour extraire des valeurs du backend Remote Config et les mettre à la disposition de l'application :await remoteConfig.fetchAndActivate();
Étant donné que ces valeurs de paramètre mises à jour affectent le comportement et l'apparence de votre application, vous devez activer les valeurs extraites à un moment qui garantit une expérience fluide pour votre utilisateur, par exemple la prochaine fois qu'il ouvre votre application. Pour en savoir plus et obtenir des exemples, consultez Stratégies de chargement de Remote Config.
Étape 7 : Écouter les mises à jour en temps réel
Une fois que vous avez extrait les valeurs de paramètre, vous pouvez utiliser Remote Config en temps réel pour écouter les mises à jour du backend Remote Config. Remote Config en temps réel signale aux appareils connectés lorsque des mises à jour sont disponibles et extrait automatiquement les modifications après la publication d'une nouvelle version de Remote Config.
Notez que Remote Config en temps réel n'est pas disponible pour le Web.
Dans votre application, utilisez
onConfigUpdatedpour commencer à écouter les mises à jour et extraire automatiquement toutes les nouvelles valeurs de paramètre.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });La prochaine fois que vous publierez une nouvelle version de Remote Config, les appareils qui exécutent votre application et écoutent les modifications activeront la nouvelle configuration.
Limitations
Si une application effectue trop d'extractions sur une courte période, les appels d'extraction seront limités et la valeur de la propriété lastFetchStatus de FirebaseRemoteConfig sera RemoteConfigFetchStatus.throttle.
L'intervalle minimal d'extraction par défaut pour Remote Config est de 12 heures. Cela signifie que les configurations ne seront extraites du backend qu'une seule fois sur une période de 12 heures, quel que soit le nombre d'appels d'extraction réellement effectués.
Lors du développement d'une application, si vous n'utilisez pas Remote Config en temps réel (ce que nous vous recommandons), vous pouvez extraire et activer des configurations très fréquemment (plusieurs fois par heure) pour itérer rapidement lors du développement et du test de votre application. Pour permettre une itération rapide sur un projet avec jusqu'à 10 développeurs, vous pouvez définir temporairement un intervalle minimal d'extraction faible avec setConfigSettings().
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));