Stratégies de chargement de Firebase Remote Config

Firebase Remote Config offre une grande flexibilité quant à la manière et au moment de récupérer de nouvelles valeurs sur le serveur et de les activer dans votre application, vous permettant ainsi de garantir une expérience utilisateur final de qualité en contrôlant le calendrier de toute modification de configuration visible. Vous pouvez récupérer de nouvelles valeurs au lancement de l'application à l'aide de fetchAndActivate() et utiliser Remote Config en temps réel comme méthode complémentaire pour récupérer automatiquement les dernières valeurs de paramètres après la publication d'une nouvelle version de votre Remote Config.

Ce guide examine quelques stratégies de chargement et aborde les principales considérations pour choisir la meilleure option pour votre application.

Stratégie 1 : Récupérer et activer au chargement

Dans cette stratégie, votre application appellerait fetchAndActivate() au premier démarrage de votre application pour récupérer de nouvelles valeurs à partir de Remote Config et les activer dès qu'elles ont terminé leur chargement. Cette approche simple fonctionne bien pour les modifications de configuration qui n’entraînent pas de changements visuels spectaculaires dans votre interface utilisateur. Cela doit être évité dans toute situation où votre interface utilisateur pourrait changer sensiblement alors que les utilisateurs sont en train de l’utiliser.

Une fois que votre application a appelé fetchAndActivate() , elle peut commencer à écouter les mises à jour des valeurs des paramètres en temps réel en appelant addOnConfigUpdateListener . Cette méthode commence à écouter toutes les mises à jour côté serveur des valeurs de paramètres, les récupère automatiquement, puis appelle l'écouteur. Une stratégie simple consiste à activer les nouvelles valeurs chez l'auditeur. Cependant, comme mentionné pour fetchAndActivate() , l’activation immédiate doit être évitée pour les interfaces utilisateur sensibles.

Stratégie 2 : activer derrière l'écran de chargement

Pour remédier au problème potentiel d’interface utilisateur rencontré dans la stratégie 1, vous pouvez compter sur un écran de chargement. Au lieu de démarrer votre application immédiatement, affichez un écran de chargement et appelez fetchAndActivate dans votre gestionnaire d'achèvement. Ensuite, juste après, toujours à l'aide d'un rappel ou d'une notification, fermez l'écran de chargement et permettez à l'utilisateur de commencer à interagir avec votre application.

Si vous utilisez cette stratégie, il est recommandé d'ajouter un délai d'attente à l'écran de chargement. Le délai d'attente d'une minute de Remote Config peut être trop long pour une expérience de démarrage d'application de qualité pour les utilisateurs.

L'écoute des mises à jour de Remote Config en temps réel en appelant addOnConfigUpdateListener fonctionne bien avec cette stratégie. Ajoutez l'écouteur lorsque l'écran de chargement est affiché, puis utilisez activate() à un ou plusieurs points de votre application où les valeurs de Remote Config n'entraîneront pas de changements visuels spectaculaires.

Stratégie 3 : Charger de nouvelles valeurs pour le prochain démarrage

Une stratégie efficace consiste à charger de nouvelles valeurs de configuration à activer au prochain démarrage de votre application. Dans cette stratégie, votre application active les valeurs récupérées au démarrage avant de tenter d'en récupérer de nouvelles, en partant du principe qu'elle a peut-être déjà récupéré (mais pas encore activée) de nouvelles valeurs de configuration. L’ordre des opérations pour cette stratégie est :

  1. Au démarrage, activez immédiatement les valeurs précédemment récupérées. Cela applique toutes les valeurs que vous avez téléchargées depuis le serveur lors d'une session précédente et est presque instantané.
  2. Pendant que l'utilisateur interagit avec votre application, lancez un appel asynchrone pour récupérer de nouvelles valeurs en fonction de l'intervalle de récupération minimum par défaut et ajoutez un écouteur de mise à jour de configuration en temps réel. L'écouteur en temps réel récupérera automatiquement toutes les valeurs publiées sur le serveur pendant l'exécution de votre application. Les mises à jour en temps réel contournent le paramètre d'intervalle de récupération minimum.
  3. Dans le gestionnaire d'achèvement ou le rappel pour l'appel de récupération, ne faites rien. Votre application conservera les valeurs téléchargées jusqu'à ce que vous les activiez au prochain démarrage de l'application.

Avec cette stratégie, le temps d’attente des utilisateurs est considérablement réduit. La combinaison des stratégies de récupération et d'écoute en temps réel avec les appels activate() selon les besoins dans le cycle de vie de l'application garantit que les utilisateurs disposent des dernières valeurs de Remote Config lorsqu'ils interagissent avec votre application.

Chargement des anti-stratégies

Comme vous l’avez peut-être compris grâce à la discussion ci-dessus sur les avantages et les inconvénients du chargement, il existe quelques modèles d’utilisation à éviter.

  • Ne mettez pas à jour ou ne changez pas d'aspect de l'interface utilisateur pendant que l'utilisateur la consulte ou interagit avec elle, à moins que vous n'ayez de bonnes raisons de le faire en matière d'application ou d'affaires, comme supprimer des options liées à une promotion qui vient de se terminer.
  • N'envoyez pas un grand nombre de requêtes de récupération simultanées, ce qui pourrait entraîner une limitation de votre application par le serveur. Si vous devez récupérer fréquemment des mises à jour, utilisez Remote Config en temps réel . Bien que le risque de limitation soit faible dans la plupart des scénarios de production, il peut constituer un problème lors du développement actif. La configuration à distance en temps réel est conçue pour ce cas d'utilisation. Consultez les conseils de limitation .
  • Ne comptez pas sur la connectivité réseau pour obtenir les valeurs de configuration à distance. Définissez les valeurs des paramètres par défaut dans l'application afin que votre application se comporte toujours comme prévu. Vous pouvez périodiquement synchroniser les valeurs par défaut du backend de l'application et de Remote Config à l'aide des valeurs par défaut du modèle téléchargé .

Prochaines étapes

Ces trois stratégies de base ne constituent en aucun cas une liste complète des moyens de charger les valeurs de configuration. En fonction de vos besoins, vous pourriez concevoir des stratégies beaucoup plus sophistiquées.

Consultez la référence API de votre plate-forme pour en savoir plus sur les appels spécifiques pour récupérer et activer les valeurs de configuration.