Firebase Remote Config offre une grande flexibilité quant à la façon et au moment de récupérer de nouvelles valeurs depuis le serveur et de les activer dans votre application. Vous pouvez ainsi garantir une expérience utilisateur de qualité en contrôlant le moment où les modifications de configuration visibles sont appliquées. 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 principaux points à prendre en compte pour choisir la meilleure option pour votre application.
Stratégie 1 : Extraire et activer au chargement
Dans cette stratégie, votre application appelle fetchAndActivate()
lorsqu'elle démarre pour la première fois afin de récupérer de nouvelles valeurs à partir de Remote Config et de les activer dès qu'elles sont chargées. Cette approche simple fonctionne bien pour les modifications de configuration qui n'entraînent pas de changements visuels spectaculaires dans votre UI. Il doit être évité dans toutes les situations où votre UI pourrait changer de manière notable pendant que les utilisateurs l'utilisent.
Une fois que votre application a appelé fetchAndActivate()
, elle peut commencer à écouter les mises à jour des valeurs de paramètres en temps réel en appelant addOnConfigUpdateListener
. Cette méthode commence à écouter 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 dans l'écouteur. Toutefois, comme indiqué pour fetchAndActivate()
, il convient d'éviter d'activer immédiatement les UI sensibles.
Stratégie 2 : Activer derrière l'écran de chargement
Pour résoudre le problème potentiel d'UI rencontré dans la stratégie 1, vous pouvez vous appuyer 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, à l'aide d'un rappel ou d'une notification, masquez 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'expiration d'une minute de Remote Config peut être trop long pour offrir aux utilisateurs une expérience de démarrage d'application de qualité.
L'écoute des mises à jour Remote Config en temps réel en appelant addOnConfigUpdateListener
fonctionne bien avec cette stratégie. Ajoutez l'écouteur lorsque l'écran de chargement s'affiche, puis utilisez activate()
à un ou plusieurs endroits de votre application où les valeurs 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 extraites au démarrage avant de tenter d'en extraire de nouvelles, en partant du principe qu'elle a peut-être déjà extrait de nouvelles valeurs de configuration, mais ne les a pas encore activées. L'ordre des opérations pour cette stratégie est le suivant :
- Au démarrage, activez immédiatement les valeurs récupérées précédemment. Cette option applique toutes les valeurs que vous avez téléchargées depuis le serveur lors d'une session précédente. Elle est presque instantanée.
- 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 minimal par défaut et ajoutez un écouteur de mise à jour de la configuration en temps réel. L'écouteur en temps réel récupère automatiquement toutes les valeurs publiées sur le serveur pendant l'exécution de votre application. Les mises à jour en temps réel ignorent le paramètre d'intervalle de récupération minimal.
- Dans le gestionnaire de saisie ou le rappel de 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.
Cette stratégie permet de réduire considérablement le temps d'attente des utilisateurs. La combinaison des stratégies de récupération et d'écouteur en temps réel avec les appels activate()
selon les besoins dans le cycle de vie de l'application permet de s'assurer que les utilisateurs disposent des dernières valeurs de Remote Config lorsqu'ils interagissent avec votre application.
Stratégies anti-chargement
Comme vous l'avez peut-être compris en lisant les avantages et les inconvénients du chargement ci-dessus, il existe quelques schémas d'utilisation à éviter.
- Ne modifiez pas l'interface utilisateur ni n'en changez des aspects pendant que l'utilisateur la consulte ou interagit avec elle, sauf si vous avez de bonnes raisons liées à l'application ou à votre activité pour le faire, par exemple pour 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, car le serveur pourrait limiter le débit de votre application. Si vous devez récupérer des mises à jour fréquemment, 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 poser problème lors du développement actif. C'est pourquoi Remote Config en temps réel est conçu pour ce cas d'utilisation. Consultez les conseils sur la limitation du débit.
- Ne comptez pas sur la connectivité réseau pour obtenir les valeurs Remote Config. Définissez des valeurs de paramètres par défaut dans l'application pour que celle-ci se comporte toujours comme prévu. Vous pouvez synchroniser régulièrement les valeurs par défaut de l'application et du backend Remote Config à l'aide des valeurs par défaut du modèle téléchargé.
Étapes suivantes
Ces trois stratégies de base ne constituent en aucun cas une liste complète des méthodes de chargement des valeurs de configuration. En fonction de vos besoins, vous pouvez concevoir des stratégies beaucoup plus sophistiquées.
Consultez la documentation de référence de l'API pour votre plate-forme afin d'en savoir plus sur les appels spécifiques permettant de récupérer et d'activer les valeurs de configuration.