Ce document contient une checklist de bonnes pratiques et d'éléments à prendre en compte avant de lancer une application Firebase en production.
Bonnes pratiques générales pour la publication
Vérifiez que vous avez testé toutes les modifications dans la Firebase Local Emulator Suite (pour les produits compatibles) avant le déploiement en production. Des tests approfondis peuvent 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.
Utilisez les déploiements Firebase Remote Config pour publier progressivement et de manière sécurisée de nouvelles fonctionnalités et mises à jour de votre application.
Si vous ne l'avez pas déjà fait, envisagez de configurer Firebase Crashlytics Il s'agit d'un modèle léger, rapport de plantage en temps réel qui vous aide à suivre, prioriser et corriger la 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 atteindre les limites d'utilisation et les quotas après passer en production, surtout si vous avez le forfait Spark sans frais. Envisagez de passer au forfait de paiement à l'usage Blaze.
Configurer alertes budgétaires pour votre projet.
Notez que les alertes budgétaires ne sont pas des plafonds budgétaires. Vous recevrez une alerte lorsque vous approchez ou dépassez votre configuration afin que vous puissiez prendre des mesures dans votre application ou votre projet.
Envisagez de configurer alertes et actions avancées, comme les fonctions qui désactivent la facturation en réponse à des alertes.
surveiller votre utilisation dans les tableaux de bord des produits spécifiques ou dans le centre Tableau de bord Utilisation et facturation dans 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 d'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.
N'oubliez pas qu'un projet Firebase n'est en réalité 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 Configuration des workflows de développement
Protégez vos projets importants, en particulier le projet associé à votre application de production.
Utilisez privilèges de projet pour éviter toute suppression accidentelle de projets.
Appliquez un libellé "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 organisation Google Cloud et d'y ajouter vos projets Firebase.
Ajouter plusieurs propriétaires à vos projets Firebase surtout si votre projet n'appartient pas à une organisation Google Cloud. En savoir plus sur quand et comment attribuer des propriétaires pour un projet Firebase.
Ajouter des membres du projet (également appelés "principes") en tant que groupes Google et non 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 quittent l'équipe.
Accorder à chaque membre du projet (le "principe") le rôle le niveau d'accès approprié à vos projets et ressources Firebase. Pour en savoir plus, consultez Gérer l'accès au projet avec Firebase IAM
S'assurer que chaque membre concerné du projet (ou "principe") définit ses préférences de façon à recevoir des alertes concernant produits ou l'état du projet (changement de forfait ou limites de quota, par exemple). Pour en savoir plus, consultez Recevez des alertes Firebase.
Restreignez vos clés API Firebase uniquement aux API qui doivent être sur le 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 les services spécifiques utilisés dans votre application
Chaque produit ou service utilisé dans votre application peut être soumis à des considérations spécifiques lorsqu'ils sont utilisés en production.
Google Analytics
Définir les conditions d'audience pour Google Analytics pour commencer à collecter des données d'analyse dès le lancement de votre application.
À envisager activation de l'exportation des données Google Analytics vers BigQuery afin d'analyser vos données avec BigQuery SQL ou d'exporter des données à 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.
Vérifiez les paramètres des rôles Google Analytics pour vos propriétés et comptes Google Analytics. Ces autorisations sont gérés séparément des autorisations et rôles IAM du projet Firebase.
Assurez-vous que votre ID App Store et votre ID d'équipe (le cas échéant) sont corrects dans les paramètres du projet de la console Firebase.
App Check
Assurez-vous que votre ID d'é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 peuvent accéder à votre aux services et ressources de backend.
Authentication
Désactiver fournisseurs que vous n'utilisez pas (surtout l'authentification anonyme).
Si votre application utilise Se connecter avec Google, personnalisez votre écran de consentement OAuth.
Personnaliser votre domaine et votre expéditeur pour les Service d'envoi d'e-mails Authentication.
Si vous utilisez la validation par SMS d'Identity Platform services, commencez à appliquer Firebase App Check et configurer Règles pour la région des SMS pour protéger votre application contre l'utilisation abusive des SMS.
Implémenter la gestion des erreurs sur les plates-formes Apple pour erreurs Authentication courantes.
Ajouter un hachage SHA-1 de version pour la signature de votre application dans le Paramètres du projet de la console Firebase. Le hachage SHA-1 est obligatoire 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 à vos domaines pour 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 (ce point est particulièrement important si vous utilisez des produits qui dépendent de Firebase Security Rules).
Cloud Firestore
Configurez vos Cloud Firestore Security Rules pour empêcher un accès non intentionnel aux données.
Utilisation ProGuard pour la minification de code dans votre build. Sans ProGuard, le SDK Cloud Firestore et ses les 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 SQL BigQuery ou d'exporter les données 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 vos Cloud Storage Security Rules pour éviter les données involontaires y accéder.
Crashlytics
Assurez-vous que chaque membre du projet concerné (également appelé "principe") configure ses préférences pour recevoir des alertes sur Crashlytics ou l'état du projet (comme les modifications de plan de facturation ou les limites de quota). Pour en savoir plus, consultez Recevez des alertes Firebase.
À envisager activation de l'exportation des données Crashlytics vers BigQuery afin d'analyser vos données avec BigQuery SQL ou d'exporter des données à utiliser avec vos propres outils.
(Android et iOS natifs uniquement) Envisagez d'activer L'assistance IA dans Crashlytics pour vous aider accélérer le temps qu'il vous faut pour comprendre pourquoi un accident s'est produit et ce que vous devez faire.
Importer le fichier dSYM pour les builds à utiliser dans Crashlytics Assurez-vous que Xcode peut traiter automatiquement les fichiers dSYM et importer les fichiers.
Importez le mappage ProGuard pour les builds à utiliser dans Crashlytics. L'importation est possible à l'aide de la CLI Firebase.
Associez Firebase à Google Play pour obtenir une vue plus détaillée 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 builds spécifiques.
Pour les builds ciblant Android et utilisant IL2CPP, assurez-vous vérifier que vous êtes importer des symboles natifs Pour chaque build pour lequel vous souhaitez obtenir des symboles, quelle que soit s'il y a eu des modifications du code ou de la configuration.
Dynamic Links
- Dynamic Links étant obsolète, nous vous recommandons de migrer Google Cloud. Pour en savoir plus, consultez les questions fréquentes sur l'abandon.
Firebase ML
Consultez Préparez l'application Apple Firebase ML pour la production.
Consultez Préparez votre application Android Firebase ML pour la production.
Performance Monitoring
Assurez-vous que chaque membre du projet concerné (également appelé "principe") configure ses préférences pour recevoir des alertes sur Performance Monitoring ou l'état du projet (comme les modifications de plan de facturation ou les limites de quota). Pour en savoir plus, consultez Recevez des alertes Firebase.
Envisagez d'activer l'exportation des données Performance Monitoring vers BigQuery afin de pouvoir analyser vos données avec SQL BigQuery ou d'exporter les données pour les utiliser avec vos propres outils.
Realtime Database
Configurez vos Realtime Database Security Rules pour éviter les données involontaires y accéder.
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 d'une 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 pour le serveur et l'application sont distribuées dans votre application.