À mesure que votre application évolue, les nouvelles versions peuvent introduire des modifications destructives dans les API de backend, résoudre des failles de sécurité critiques ou remplacer des services et des modèles d'IA obsolètes. Dans ce cas, les versions antérieures de l'application peuvent cesser de fonctionner de manière fiable ou sécurisée.
Remote Config vous permet de contrôler de manière dynamique les exigences de version de l'application depuis le cloud. En définissant des paramètres de version dans Remote Config, vous pouvez inviter ou obliger les utilisateurs à mettre à jour leur application sans déployer d'infrastructure de serveur personnalisée ni publier de mise à jour d'urgence.
Choisir une stratégie de mise à jour
Remote Config fournit les paramètres de version à évaluer sur le client, ce qui vous permet de configurer l'UI de mise à jour de votre application pour l'une des deux stratégies en fonction de la gravité de la modification :
- Mise à jour forcée (bloquante) : si une version antérieure de l'application est incompatible avec votre backend ou présente un risque de sécurité, vous pouvez bloquer l'accès à l'application jusqu'à ce que l'utilisateur la mette à jour. Lorsque la version installée est antérieure à la version minimale requise, vous pouvez configurer votre application pour qu'elle affiche une boîte de dialogue non masquable qui redirige l'utilisateur vers le magasin d'applications de la plate-forme pour installer la dernière version.
- Mise à jour flexible (facultative) : si une mise à jour introduit de nouvelles fonctionnalités, des améliorations des performances ou des corrections de bugs mineurs, vous pouvez configurer votre application pour qu'elle affiche une bannière ou une invite que l'utilisateur peut ignorer, l'encourageant à effectuer la mise à jour quand il le souhaite, tout en lui permettant de continuer à utiliser l'application.
Étape 1 : Configurez les paramètres dans la console Firebase
Pour gérer les versions d'application, définissez des paramètres dans votre modèle Remote Config :
- Dans la console Firebase, accédez à la page DevOps et engagement > Remote Config > Paramètres.
- Cliquez sur Ajouter un paramètre (ou sur Créer une configuration s'il s'agit de votre premier paramètre).
- Définissez les paramètres suivants :
minimum_version: chaîne représentant la version minimale compatible de votre application (par exemple,"2.4.0"). Les applications exécutant une version antérieure à cette valeur sont bloquées jusqu'à ce qu'elles soient mises à jour.latest_version(facultatif) : chaîne représentant la dernière version disponible de votre application (par exemple,"2.5.1"). Les applications exécutant une version comprise entreminimum_versionetlatest_versionpeuvent afficher une recommandation de mise à jour facultative.update_url(facultatif) : URL de la plate-forme de téléchargement où les utilisateurs peuvent télécharger la mise à jour (par exemple, votre fiche sur le Google Play Store ou l'App Store d'Apple).
- Facultatif : Ajoutez des conditions spécifiques à la plate-forme :
- Comme les applications Android et Apple utilisent souvent des versions et des URL de magasin différentes, vous pouvez ajouter des valeurs conditionnelles pour chaque plate-forme sous le même paramètre.
- Cliquez sur Ajouter une valeur pour la condition > Créer une condition. Nommez la condition (par exemple,
Android AppouiOS App), sélectionnez Application comme règle de ciblage, puis choisissez votre application. - Définissez la chaîne de version appropriée pour chaque condition de plate-forme et conservez la valeur par défaut comme solution de secours.
- Cliquez sur Enregistrer, puis sur Publier les modifications pour appliquer le modèle.
Étape 2 : Implémenter des vérifications de version côté client
Sur le client, vérifiez la version de l'application installée par rapport aux paramètres Remote Config au démarrage :
- Définissez des valeurs par défaut dans l'application : fournissez toujours des valeurs par défaut sûres dans votre app bundle (par exemple, définissez
minimum_versionsur la version initiale de votre application, comme"1.0.0"). Cette configuration de remplacement garantit que votre application continue de fonctionner normalement si l'appareil est hors connexion ou si la requête de récupération initiale échoue. Pour obtenir des conseils spécifiques à la plate-forme, consultez Télécharger les modèles par défaut de Remote Config. - Récupérer et activer Remote Config : récupérez et activez les dernières valeurs de modèle au démarrage de votre application.
Comparer les versions : récupérez les chaînes
minimum_versionetlatest_versionactives, puis comparez-les à la version de l'application actuellement installée.Agir en fonction de la comparaison des versions :
- Appliquer la mise à jour requise : si
current_versionest antérieur àminimum_version, affichez une alerte modale en plein écran qui ne peut pas être ignorée. Désactivez la navigation vers le reste de l'application et fournissez un bouton qui ouvre l'update_urldans le magasin d'applications de la plate-forme. - Proposer une mise à jour facultative : si
current_versionest antérieur àlatest_version, affichez une boîte de dialogue ou une notification pouvant être ignorée pour informer les utilisateurs qu'une mise à jour est disponible, avec les options Mettre à jour maintenant ou Plus tard. - Autoriser l'accès : sinon, autorisez l'utilisateur à accéder à l'application.
- Appliquer la mise à jour requise : si
Bonnes pratiques
- Ajouter un écouteur en temps réel : lorsque des mises à jour de version sont requises en raison de problèmes de sécurité ou d'une dégradation importante de l'expérience utilisateur, l'ajout d'un écouteur Remote Config en temps réel à votre application peut vous aider à vous assurer que les modifications des exigences de version prennent effet immédiatement sur les appareils actifs, sans attendre la prochaine récupération planifiée ou le redémarrage de l'application.
- Tester avec un groupe de test limité : avant d'augmenter le
minimum_versionpour tous les utilisateurs en production, testez la condition avec un groupe de test limité ou ciblez des testeurs internes à l'aide de propriétés utilisateur personnalisées. Ce test permet de vérifier que la fenêtre modale de blocage s'affiche correctement et que les liens vers le magasin se résolvent correctement. - Utilisez les API de mise à jour intégrée à l'application de la plate-forme : sur Android, envisagez d'intégrer les mises à jour intégrées à l'application Google Play en plus de vos vérifications Remote Config pour permettre aux utilisateurs de télécharger et d'installer des mises à jour sans quitter votre application.
- Consultez les checklists de production : lisez la checklist de lancement Firebase et la checklist de production AI Logic pour obtenir des conseils supplémentaires sur la préparation de votre application et de vos fonctionnalités d'IA pour la production.