| 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 les étapes à suivre pour commencer et fournit un exemple de code.
Étape 1 : Ajoutez Firebase et le SDK Remote Config à votre application
Installez et initialisez les SDK Firebase pour Flutter si vous ne l'avez pas déjà fait.
Pour Remote Config, Google Analytics est requis pour le ciblage conditionnel d'instances d'application avec des propriétés utilisateur et des audiences. Assurez-vous d'activer Google Analytics dans votre projet.
Depuis 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_analyticsRecompilez votre projet :
flutter runSi vous utilisez Remote Config sur macOS, activez le partage du trousseau 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 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 et de contrôler quand les valeurs récupérées sont mises à la disposition de votre application.
Pendant le développement, il est recommandé de définir un intervalle de récupération minimal relativement faible. Pour en savoir plus, consultez Limitation.
Étape 3 : Définissez 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 : Obtenez les valeurs de paramètre à utiliser dans votre appli
Vous pouvez maintenant obtenir les valeurs des paramètres à partir de l'objet Remote Config. Si vous définissez des valeurs dans le backend, que vous les récupérez, puis que vous les activez, ces valeurs sont disponibles pour votre application. Sinon, vous obtenez les valeurs de paramètre intégrées à 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 en tant qu'argument :
getBool()getDouble()getInt()getString()
Étape 5 : Définissez les valeurs de paramètre dans le backend Remote Config
À l'aide de la console Firebase ou des API de backend Remote Config, vous pouvez créer des valeurs par défaut côté serveur qui remplacent les valeurs intégrées à l'application en fonction de la logique conditionnelle ou du ciblage des utilisateurs de votre choix. Cette section décrit les étapes à suivre dans la console Firebase pour créer ces valeurs.
Dans la console Firebase, accédez à DevOps et engagement > 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), ainsi que des valeurs conditionnelles. Pour en savoir plus, consultez Paramètres et conditions de 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 récupérées et stockées dans l'objet Remote Config.Pour que les valeurs de paramètre récupérées soient disponibles pour votre application, appelez la méthode
activate().Si vous souhaitez récupérer et activer des valeurs en un seul appel, vous pouvez utiliser une requête
fetchAndActivate()pour récupérer des valeurs à partir 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 récupérées à un moment qui garantit une expérience fluide pour l'utilisateur, par exemple la prochaine fois qu'il ouvrira 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
Après avoir récupéré 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 signale 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.
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 récupérer automatiquement 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 votre configuration Remote Config, les appareils qui exécutent votre application et qui écoutent les modifications activeront la nouvelle configuration.
Limitations
Si une application effectue trop de récupérations sur une courte période, les appels de récupération seront limités et la valeur de la propriété lastFetchStatus de FirebaseRemoteConfig sera RemoteConfigFetchStatus.throttle.
L'intervalle d'extraction minimal par défaut pour Remote Config est de 12 heures. Cela signifie que les configurations ne seront pas extraites du backend plus d'une fois par 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 récupérer et activer des configurations très fréquemment (plusieurs fois par heure) pour vous permettre d'itérer rapidement pendant le développement et le test de votre application. Pour permettre une itération rapide sur un projet comptant jusqu'à 10 développeurs, vous pouvez définir temporairement un intervalle d'extraction minimal faible avec setConfigSettings().
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));