Stratégies de chargement de Firebase Remote Config

Firebase Remote Config offre une grande flexibilité pour déterminer comment et quand extraire de nouvelles valeurs du serveur et les activer dans votre application. Vous pouvez ainsi garantir une expérience utilisateur de qualité en contrôlant le calendrier de tout changement de configuration visible. Vous pouvez extraire 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 extraire automatiquement les dernières valeurs de paramètre après la publication d'une nouvelle version de votre Remote Config.

Ce guide examine quelques stratégies de chargement et aborde les points clés à prendre en compte pour choisir la meilleure option pour votre application.

Stratégie 1: Extraire et activer lors du chargement

Dans cette stratégie, votre application appelle fetchAndActivate() au démarrage pour extraire de nouvelles valeurs de Remote Config et les activer dès qu'elles ont été chargées. Cette approche simple fonctionne bien pour les modifications de configuration qui ne provoquent pas de changements visuels importants dans votre UI. Il doit être évité dans toute situation 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 de la valeur du paramètre en temps réel en appelant addOnConfigUpdateListener. Cette méthode commence à écouter les mises à jour côté serveur des valeurs de paramètre, 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(), l'activation immédiate doit être évitée pour les UI 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 utiliser un écran de chargement. Au lieu de démarrer votre application immédiatement, affichez un écran de chargement et appelez fetchAndActivate dans votre gestionnaire de fin. Immédiatement après, à l'aide d'un rappel ou d'une notification, fermez l'écran de chargement et autorisez l'utilisateur à commencer à interagir avec votre application.

Si vous utilisez cette stratégie, nous vous recommandons d'ajouter un délai avant expiration à l'écran de chargement. Le délai d'expiration d'une minute de Remote Config peut être trop long pour offrir une expérience de démarrage de qualité aux utilisateurs.

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 ne provoquent pas de changements visuels importants.

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 démarrage suivant de votre application. Dans cette stratégie, votre application active les valeurs extraites au démarrage avant d'essayer d'en extraire de nouvelles, en partant du principe qu'elle a peut-être déjà extrait de nouvelles valeurs de configuration, mais qu'elle ne les a pas encore activées. L'ordre des opérations pour cette stratégie est le suivant:

  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 à partir du serveur lors d'une session précédente et est presque instantané.
  2. Lorsque l'utilisateur interagit avec votre application, lancez un appel asynchrone pour extraire 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 contournent le paramètre d'intervalle de récupération minimal.
  3. Dans le gestionnaire de fin 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 la prochaine fois qu'elle démarrera.

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

Anti-stratégies de chargement

Comme vous l'avez peut-être compris dans la discussion ci-dessus sur les avantages et les inconvénients du chargement, il existe quelques schémas d'utilisation à éviter.

  • Ne mettez pas à jour ni ne modifiez pas les aspects de l'interface utilisateur lorsque l'utilisateur la consulte ou interagit avec elle, sauf si vous avez de bonnes raisons d'en faire ainsi pour l'application ou l'entreprise, par exemple pour supprimer des options liées à une promotion qui vient de se terminer.
  • N'envoyez pas de grandes quantités de requêtes de récupération simultanées, car cela pourrait entraîner le débit limité du serveur sur 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. Le Remote Config en temps réel est conçu pour ce cas d'utilisation. Consultez les conseils de limitation.
  • Ne vous appuyez pas sur la connectivité réseau pour obtenir des valeurs Remote Config. Faites-le pour définir les valeurs de paramètre par défaut dans l'application afin que votre application 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ées.

Étapes suivantes

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

Consultez la documentation de référence de l'API de votre plate-forme pour en savoir plus sur les appels spécifiques à l'extraction et à l'activation des valeurs de configuration.