Dieses Dokument enthält eine Checkliste mit Best Practices und Überlegungen vor der Einführung einer Firebase-App in der Produktion.
Allgemeine Best Practices für die Veröffentlichung
Testen Sie alle Änderungen in der Firebase Local Emulator Suite (für unterstützte Produkte), bevor Sie sie in der Produktion bereitstellen. Durch gründliche Tests können kostspielige Fehler vermieden werden.
Start Erzwingen Firebase App Check für jeden Dienst, der ihn unterstützt. App Check hilft sicherzustellen, dass nur Ihre tatsächlichen Apps auf Ihre Backend-Dienste und -Ressourcen zugreifen können.
Überprüfen Sie die allgemeine Sicherheitscheckliste von Firebase .
Verwenden Sie Firebase Remote Config Rollouts, um neue Funktionen und Updates sicher und schrittweise für Ihre App freizugeben.
Wenn Sie es noch nicht getan haben, richten Sie Firebase Crashlytics ein. Dies ist ein schlanker Crash-Reporter, der in Echtzeit funktioniert und Ihnen hilft, Stabilitätsprobleme, die die Qualität Ihrer App beeinträchtigen, zu erfassen, zu priorisieren und zu beheben.
Limits Ihres Tarifs kennen und Budgetbenachrichtigungen festlegen
Achten Sie darauf, dass Sie nach der Umstellung auf die Produktion keine Nutzungslimits und Kontingente erreichen, insbesondere wenn Sie den kostenlosen Spark-Tarif verwenden. Sie können auf das Blaze-Preismodell (Pay as you go) upgraden.
Richten Sie Budgetbenachrichtigungen für Ihr Projekt ein.
Budgetbenachrichtigungen sind keine Budget obergrenzen. Sie erhalten eine Benachrichtigung, wenn Sie den konfigurierten Schwellenwert erreichen oder überschreiten, damit Sie Maßnahmen in Ihrer App oder Ihrem Projekt ergreifen können.
Sie können erweiterte Benachrichtigungen und Aktionen einrichten, z. B. Funktionen, mit denen die Abrechnung als Reaktion auf Benachrichtigungen deaktiviert wird.
Wenn Sie Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase und Firebase Extensions verwenden, empfehlen wir dringend, dass Sie auch Ausgabenlimits festlegen. Dadurch wird der entsprechende Dienst pausiert, wenn Ihr Projekt das für diesen Dienst festgelegte Budget erreicht.
Überwachen Sie die Nutzung in den produktspezifischen Dashboards oder im zentralen Dashboard _Nutzung und Abrechnung_ in der Firebase Console.
Best Practices für Firebase-Projekte und ‑Apps
Unabhängig davon, ob Sie ein einzelner Entwickler oder ein großes Unternehmen sind, ist es wichtig, dass Ihre Firebase-Projekte, ‑Apps und ‑Ressourcen geschützt und sicher sind und sich mit Änderungen in Ihrem Team weiterentwickeln können.
Ein Firebase-Projekt ist im Grunde nur ein Google Cloud Projekt, für das Firebase-Dienste und ‑Konfigurationen aktiviert sind. Viele Best Practices, die Google Cloud empfiehlt, gelten daher auch für Firebase.
Verwenden Sie verschiedene Firebase-Projekte für Entwicklung, Tests und Produktion.
Versuchen Sie, die unerwartete Offenlegung des Projekts zu begrenzen, das mit Ihrer Produktions-App verknüpft ist. Weitere Informationen zum Einrichten von Entwicklungs-Workflows.
Schützen Sie Ihre wichtigen Projekte, insbesondere das Projekt, das mit Ihrer Produktions-App verknüpft ist.
Verwenden Sie Projektsperren um ein versehentliches Löschen des Projekts zu verhindern.
Wenden Sie in der Firebase Konsole das Tag „Prod“ an, um Ihre Produktionsumgebung leichter zu identifizieren.
Wenn Sie es noch nicht getan haben, richten Sie eine Google Cloud Organisation ein und fügen Sie Ihre Firebase-Projekte hinzu.
Fügen Sie Ihren Firebase-Projekten mehr als einen Inhaber hinzu, insbesondere wenn sich Ihr Projekt nicht in einer Google Cloud Organisation befindet. Weitere Informationen dazu, wann und wie Sie Inhaber für ein Firebase-Projekt zuweisen
Fügen Sie Projektmitglieder (auch „Prinzipale“ genannt) als Google-Gruppen und nicht einzeln hinzu.
Durch die Verwendung von Gruppen können Sie Teammitgliedern Rollen im Bulk zuweisen und verwalten, wer Zugriff auf Ihr Firebase-Projekt hat, insbesondere wenn Teammitglieder wechseln oder das Unternehmen verlassen.
Gewähren Sie jedem Projektmitglied (auch „Prinzipal“ genannt) die entsprechende Zugriffsebene auf Ihre Firebase-Projekte und ‑Ressourcen. Weitere Informationen finden Sie unter Zugriff auf Projekte mit Firebase IAM verwalten.
Achten Sie darauf, dass jedes relevante Projektmitglied (auch „Prinzipal“ genannt) seine Einstellungen so konfiguriert, dass es Benachrichtigungen zu bestimmten Produkten oder zum Projektstatus erhält (z. B. Änderungen am Abrechnungstarif oder Kontingentlimits). Weitere Informationen finden Sie unter Firebase-Benachrichtigungen erhalten.
Optional können Sie auch die „wichtigen Kontakte“ Ihres Projekts anpassen wenn bestimmte oder zusätzliche Projektmitglieder Benachrichtigungen erhalten sollen. So wird sichergestellt, dass nicht nur der Projektinhaber Benachrichtigungen zu Abrechnungs-, Rechts- und Produktänderungen erhält.
Beschränken Sie Ihre Firebase-API-Schlüssel auf die APIs, die in der API-Zulassungsliste des Schlüssels enthalten sein müssen. Weitere Informationen zu API-Schlüsseln finden Sie in der Sicherheitscheckliste von Firebase.
Bestimmte in Ihrer App verwendete Dienste vorbereiten
Für jedes in Ihrer App verwendete Produkt und jeden Dienst gelten möglicherweise bestimmte Überlegungen, wenn sie in der Produktion verwendet werden.
Firebase AI Logic
- Weitere Informationen finden Sie in der Checkliste für die Produktion zur Verwendung von Firebase AI Logic.
Google Analytics
Definieren Sie Zielgruppenbedingungen für Google Analytics, um ab dem Start Ihrer App Analysedaten zu erheben.
Sie können den Export von Google Analytics Daten nach BigQuery aktivieren, um Ihre Daten mit BigQuery SQL zu analysieren oder die Daten zur Verwendung mit Ihren eigenen Tools zu exportieren.
Beschränken Sie Nutzerattribute auf Informationen, die für den Lebenszyklus Ihrer gesamten App relevant sind. Die Anzahl der Attribute, die Sie erstellen können, ist begrenzt, und sie können nicht archiviert werden.
Überprüfen Sie die Einstellungen für Google Analytics Rollen für Ihre Google Analytics Properties und Konten. Diese Berechtigungen werden separat von den IAM-Berechtigungen und ‑Rollen für Firebase-Projekte verwaltet.
Prüfen Sie, ob Ihre App Store-ID und Team-ID (falls erforderlich) korrekt in den Projekteinstellungen der Firebase Console sind.
App Check
Prüfen Sie, ob Ihre Team-ID in den Projekteinstellungen der Firebase Console korrekt ist.
Wenn Sie es noch nicht getan haben, erzwingen Firebase App Check Sie für jeden Dienst, der es unterstützt. App Check hilft sicherzustellen, dass nur Ihre tatsächlichen Apps auf Ihre Backend-Dienste und -Ressourcen zugreifen können.
Authentication
Deaktivieren Sie alle Anbieter die Sie nicht verwenden (insbesondere die anonyme Authentifizierung).
Wenn Ihre App „Über Google anmelden“ verwendet, personalisieren Sie den OAuth-Zustimmungsbildschirm.
Passen Sie Ihre Domain und den Absender für den Authentication E-Mail-Versanddienst an.
Wenn Sie die SMS-Bestätigungsdienste von Identity Platform verwenden, erzwingen Sie Firebase App Check und konfigurieren Sie eine SMS-Regionsrichtlinie, um Ihre App vor SMS-Missbrauch zu schützen.
Implementieren Sie die Fehlerbehandlung auf Apple-Plattformen für häufige Authentication Fehler.
Fügen Sie in den Projekteinstellungen der Firebase Console einen Release-SHA-1-Hash für das Signaturzertifikat Ihrer App hinzu. Der SHA-1-Hash ist erforderlich, wenn Ihre App die Anmeldung mit der Telefonnummer oder „Über Google anmelden“ verwendet (was einen OAuth-Client erfordert).
Fügen Sie eine Zugriffssteuerung für Ihre Domains hinzu, um eine unbefugte Nutzung zu verhindern. Gewähren Sie insbesondere im Bereich Authentication der Firebase Console Zugriff auf Ihre Produktionsdomain. Dies ist besonders wichtig, wenn Sie Produkte verwenden, die auf Firebase Security Rules basieren.
Cloud Firestore
Konfigurieren Sie Ihre Cloud Firestore Security Rules, um einen unbeabsichtigten Datenzugriff zu verhindern.
Verwenden Sie ProGuard für die Codekomprimierung in Ihrem Release-Build. Ohne ProGuard kann die Größe Ihrer APK-Datei durch das Cloud Firestore SDK und seine Abhängigkeiten zunehmen.
Cloud Messaging
Erwägen Sie den Export von Cloud Messaging Daten nach BigQuery zu aktivieren, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten zur Verwendung mit Ihren eigenen Tools exportieren können.
Laden Sie in der Firebase Console Ihren APNs-Authentifizierungsschlüssel für Cloud Messaging in Apple-Apps hoch. Wenn Sie APNs-Zertifikate verwenden, muss Ihr Produktions-APNs-Zertifikat hochgeladen werden.
Cloud Storage
- Konfigurieren Sie Ihre Cloud Storage Security Rules, um einen unbeabsichtigten Daten zugriff zu verhindern.
Crashlytics
Achten Sie darauf, dass jedes relevante Projektmitglied (auch „Prinzipal“ genannt) seine Einstellungen so konfiguriert, dass es Benachrichtigungen zu Crashlytics oder zum Projektstatus erhält (z. B. Änderungen am Abrechnungstarif oder Kontingent limits). Weitere Informationen finden Sie unter Firebase-Benachrichtigungen erhalten.
Sie können den Export von Crashlytics Daten nach BigQuery aktivieren, um Ihre Daten mit BigQuery SQL zu analysieren oder die Daten zur Verwendung mit Ihren eigenen Tools zu exportieren.
(Nur für native Android- und iOS-Apps) Sie können die KI-Unterstützung in Crashlytics aktivieren, um die Zeit zu verk ürzen, die Sie benötigen, um die Ursache eines Absturzes zu ermitteln und Maßnahmen zu ergreifen.
Laden Sie die dSYM-Datei für Release-Builds zur Verwendung in Crashlytics hoch. Achten Sie darauf, dass Xcode dSYMs automatisch verarbeiten und die Dateien hochladen kann.
Laden Sie die ProGuard-Zuordnung für Release-Builds zur Verwendung in Crashlytics hoch. Der Upload ist über die Firebase CLI möglich.
Verknüpfen Sie Firebase mit Google Play , um einen umfassenderen Überblick über den Zustand Ihrer Android-App zu erhalten. Sie können beispielsweise die Absturzberichte Ihrer App nach Google Play Track filtern, um Ihr Dashboard besser auf bestimmte Builds auszurichten.
Für Builds, die auf Android ausgerichtet sind und IL2CPP verwenden, müssen Sie sicherstellen, dass Sie native Symbole hochladen für jeden einzelnen Build-Lauf, für den Sie Symbole haben möchten, unabhängig davon, ob es Code- oder Konfigurationsänderungen gab.
Dynamic Links
- Dynamic Links ist veraltet. Wir empfehlen, den Dienst zu migrieren. Weitere Informationen finden Sie in den FAQs zur Einstellung.
Firebase ML
Siehe Apple-App für Firebase ML für die Produktion vorbereiten.
Siehe Bereiten Sie Ihre Firebase ML Android-App für die Produktion vor.
Performance Monitoring
Achten Sie darauf, dass jedes relevante Projektmitglied (auch „Prinzipal“ genannt) seine Einstellungen so konfiguriert, dass es Benachrichtigungen zu Performance Monitoring oder zum Projektstatus erhält (z. B. Änderungen am Abrechnungstarif oder Kontingentlimits). Weitere Informationen finden Sie unter Firebase-Benachrichtigungen erhalten.
Sie können den Export von Performance Monitoring Daten nach BigQuery aktivieren, um Ihre Daten mit BigQuery SQL zu analysieren oder die Daten zur Verwendung mit Ihren eigenen Tools zu exportieren.
Realtime Database
Konfigurieren Sie Ihre Realtime Database Security Rules, um einen unbeabsichtigten Daten zugriff zu verhindern.
Achten Sie darauf, dass Sie bereit für die Skalierung sind. Realtime Database hat ein Standardkontingent, das für die meisten Anwendungen groß genug ist. Einige Apps benötigen jedoch möglicherweise zusätzliche Kapazität.
Konfigurieren Sie Ihre ProGuard-Regeln für die Verwendung mit der Realtime Database.
Remote Config
- Achten Sie darauf, dass experimentelle Remote Config Regeln keine Auswirkungen auf Ihre Release- Nutzer haben und dass entsprechende Server- und In-App-Standardwerte in Ihrer App verteilt werden.