Ce document contient une checklist des bonnes pratiques et des points à prendre en compte avant de lancer une application Firebase en production.
Bonnes pratiques générales pour la publication
Assurez-vous d'avoir testé toutes vos modifications dans l'Firebase Local Emulator Suite (pour les produits compatibles) avant de les déployer en production. Des tests approfondis peuvent vous aider à éviter des erreurs coûteuses.
Commencez à appliquer Firebase App Check pour chaque service compatible. App Check permet de s'assurer que seules vos applications réelles peuvent accéder à vos services et ressources de backend.
Consultez la checklist de sécurité générale de Firebase.
Utilisez les déploiements Firebase Remote Config pour déployer de nouvelles fonctionnalités et mises à jour dans votre application de manière sécurisée et progressive.
Si ce n'est pas déjà fait, envisagez de configurer Firebase Crashlytics. Il s'agit d'un outil léger de création de rapports d'erreur en temps réel qui vous aide à suivre, à prioriser et à corriger les problèmes de stabilité qui nuisent à la qualité de votre application.
Connaître les limites de votre forfait et définir des alertes de budget
Assurez-vous de ne pas dépasser les limites et quotas d'utilisation après le passage en production, en particulier si vous utilisez le forfait Spark sans frais. Envisagez de passer à la formule Blaze avec paiement à l'usage.
Configurez des alertes budgétaires pour votre projet.
Notez que les alertes de budget ne sont pas des plafonds de budget. Une alerte vous envoie des communications lorsque vous approchez ou dépassez le seuil configuré, afin que vous puissiez prendre des mesures dans votre application ou votre projet.
Envisagez de configurer des alertes et des actions avancées, comme des fonctions qui désactiveront la facturation en réponse aux alertes.
Surveillez votre utilisation dans les tableaux de bord spécifiques aux produits ou dans le tableau de bord central "Utilisation et facturation" de la console Firebase.
Assurez-vous que vos projets et applications Firebase respectent les bonnes pratiques
Que vous soyez un développeur individuel ou une équipe de grande entreprise, il est important de vous assurer que vos projets, applications et ressources Firebase sont protégés, sécurisés et peuvent évoluer en fonction des changements dans votre équipe.
Il est utile de se rappeler qu'un projet Firebase n'est en fait qu'un projet Google Cloud pour lequel les services et configurations Firebase sont activés. Cela signifie que de nombreuses bonnes pratiques recommandées par Google Cloud s'appliquent également à Firebase.
Utilisez différents projets Firebase pour le développement, les tests et la production.
Essayez de limiter l'exposition inattendue au projet associé à votre application de production. En savoir plus sur la configuration des workflows de développement
Protégez vos projets importants, en particulier celui associé à votre application de production.
Utilisez les privilèges de projet pour éviter toute suppression accidentelle de projet.
Appliquez un tag"Prod" dans la console Firebase pour identifier plus facilement votre environnement de production.
Si ce n'est pas déjà fait, envisagez de configurer une Google Cloud organisation et d'y ajouter vos projets Firebase.
Ajoutez plusieurs propriétaires à vos projets Firebase, surtout si votre projet n'est pas dans une organisation Google Cloud. Découvrez quand et comment attribuer des propriétaires pour un projet Firebase.
Ajoutez les membres du projet (également appelés "comptes principaux") en tant que groupes Google plutôt qu'individuellement.
L'utilisation de groupes permet d'attribuer plus facilement des rôles aux membres de l'équipe de manière groupée et de gérer les accès à votre projet Firebase, en particulier si les membres de l'équipe changent ou partent.
Accordez à chaque membre du projet (également appelé "principal") le niveau d'accès approprié à vos projets et ressources Firebase. Pour en savoir plus, consultez Gérer l'accès aux projets avec Firebase IAM.
Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes sur des produits ou des états de projet spécifiques (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.
Vous pouvez également personnaliser les "contacts essentiels" de votre projet (facultatif) si vous souhaitez que des membres spécifiques ou supplémentaires du projet reçoivent des notifications. Cela est particulièrement utile pour s'assurer que le propriétaire du projet n'est pas le seul à recevoir des notifications concernant les modifications apportées à la facturation, aux aspects juridiques et aux produits.
Restreignez vos clés API Firebase uniquement aux API qui doivent figurer dans la liste d'autorisation des API de la clé. Consultez également les informations sur les clés API dans la checklist de sécurité de Firebase.
Préparer des services spécifiques utilisés dans votre application
Chaque produit et service utilisé dans votre application peut avoir des considérations spécifiques lorsqu'il est utilisé en production.
Firebase AI Logic
- Consultez la checklist de production pour utiliser Firebase AI Logic.
Google Analytics
Définissez des conditions d'audience pour Google Analytics afin de commencer à collecter des données analytiques dès le lancement de votre application.
Envisagez d'activer l'exportation des données Google Analytics vers BigQuery afin de pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.
Limitez les propriétés utilisateur aux informations qui seront pertinentes pour le cycle de vie de l'ensemble de votre application. Le nombre de propriétés que vous pouvez créer est limité et elles ne peuvent pas être archivées.
Passez en revue les paramètres des rôles Google Analytics pour vos propriétés et comptes Google Analytics. Ces autorisations sont gérées séparément des autorisations et des rôles IAM du projet Firebase.
Assurez-vous que votre ID App Store et votre ID d'équipe (si nécessaire) sont corrects dans les paramètres du projet de la console Firebase.
App Check
Assurez-vous que l'ID de votre équipe est correct dans les paramètres du projet de la console Firebase.
Si vous ne l'avez pas déjà fait, commencez à appliquer Firebase App Check pour chaque service compatible. App Check permet de s'assurer que seules vos applications réelles peuvent accéder à vos services et ressources de backend.
Authentication
Désactivez tous les fournisseurs que vous n'utilisez pas (en particulier l'authentification anonyme).
Si votre application utilise Se connecter avec Google, personnalisez votre écran de consentement OAuth.
Personnalisez votre domaine et votre expéditeur pour le service d'envoi d'e-mails Authentication.
Si vous utilisez les services de validation par SMS Identity Platform, commencez à appliquer Firebase App Check et configurez une règle régionale pour les SMS afin de protéger votre application contre les utilisations abusives des SMS.
Implémentez la gestion des erreurs sur les plates-formes Apple pour les erreurs Authentication courantes.
Ajoutez un hachage SHA-1 de la version pour le certificat de signature de votre application dans les paramètres du projet de la console Firebase. Le hachage SHA-1 est requis si votre application utilise la connexion par numéro de téléphone ou la connexion avec Google (qui nécessite un client OAuth).
Ajoutez un contrôle des accès pour vos domaines afin d'empêcher toute utilisation non autorisée. Plus précisément, autorisez l'accès à votre domaine de production dans la section Authentication de la console Firebase (particulièrement important si vous utilisez des produits qui s'appuient sur Firebase Security Rules).
Cloud Firestore
Configurez votre Cloud Firestore Security Rules pour éviter tout accès involontaire aux données.
Utilisez ProGuard pour la minification du code dans votre build de version. Sans ProGuard, le SDK Cloud Firestore et ses dépendances peuvent augmenter la taille de votre APK.
Cloud Messaging
Envisagez d'activer l'exportation des données Cloud Messaging vers BigQuery afin de pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.
Importez votre clé d'authentification APNs pour Cloud Messaging sur les applications Apple dans la console Firebase. Si vous utilisez des certificats APNs, assurez-vous que votre certificat APNs de production est importé.
Cloud Storage
- Configurez votre Cloud Storage Security Rules pour éviter tout accès involontaire aux données.
Crashlytics
Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes concernant Crashlytics ou l'état du projet (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.
Envisagez d'activer l'exportation des données Crashlytics vers BigQuery afin de pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.
(Android et iOS natifs uniquement) Envisagez d'activer l'assistance IA dans Crashlytics pour vous aider à comprendre plus rapidement pourquoi un plantage s'est produit et ce qu'il faut faire.
Importez le fichier dSYM pour les versions de production afin de l'utiliser dans Crashlytics. Assurez-vous qu'Xcode peut traiter automatiquement les fichiers dSYM et les importer.
Importez le mappage ProGuard pour les versions à publier afin de l'utiliser dans Crashlytics. Vous pouvez importer des données à l'aide de la CLI Firebase.
Associez Firebase à Google Play pour obtenir une vue plus complète de l'état de votre application Android. Par exemple, vous pouvez filtrer les rapports d'erreur de votre application par canal Google Play, ce qui vous permet de mieux cibler votre tableau de bord sur des versions spécifiques.
Pour les versions ciblant Android et utilisant IL2CPP, assurez-vous d'importer les symboles natifs pour chaque exécution de compilation pour laquelle vous souhaitez disposer de symboles, que des modifications de code ou de configuration aient été apportées ou non.
Dynamic Links
- Dynamic Links est obsolète. Nous vous recommandons donc de migrer vers un autre service. Pour en savoir plus, consultez les questions fréquentes sur l'arrêt.
Firebase ML
Consultez Préparer votre application Apple Firebase ML pour la production.
Consultez Préparer votre application Android Firebase ML pour la production.
Performance Monitoring
Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes sur Performance Monitoring ou l'état du projet (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.
Envisagez d'activer l'exportation des données Performance Monitoring vers BigQuery afin de pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.
Realtime Database
Configurez votre Realtime Database Security Rules pour éviter tout accès involontaire aux données.
Assurez-vous d'être prêt à évoluer. Realtime Database dispose d'un quota par défaut suffisamment élevé pour la plupart des applications, mais certaines peuvent avoir besoin de capacité supplémentaire.
Configurez vos règles ProGuard pour qu'elles fonctionnent avec Realtime Database.
Remote Config
- Assurez-vous que les règles expérimentales Remote Config n'affectent pas les utilisateurs de votre version et que les valeurs par défaut appropriées du serveur et de l'application sont distribuées dans votre application.