Dieses Dokument enthält eine Checkliste mit Best Practices und Überlegungen, die vor dem Start einer Firebase-App in der Produktion berücksichtigt werden sollten.
Allgemeine Best Practices für die Veröffentlichung
Achten Sie darauf, dass Sie alle Änderungen in der Firebase Local Emulator Suite (für unterstützte Produkte) getestet haben, bevor Sie sie in der Produktion bereitstellen. Durch gründliche Tests lassen sich kostspielige Fehler vermeiden.
Beginnen Sie mit der Erzwingung Firebase App Check für jeden Dienst, der sie unterstützt. App Check trägt dazu bei, dass nur Ihre tatsächlichen Apps auf Ihre Backend-Dienste und -Ressourcen zugreifen können.
Mit Firebase Remote Config-Rollouts können Sie neue Funktionen und Updates für Ihre App sicher und nach und nach veröffentlichen.
Falls noch nicht geschehen, sollten Sie Firebase Crashlytics einrichten. Dieses schlanke Tool meldet Abstürze in Echtzeit und hilft Ihnen, Stabilitätsprobleme, die die Qualität Ihrer App beeinträchtigen, zu erfassen, zu priorisieren und zu beheben.
Tariflimits kennen und Budgetbenachrichtigungen einrichten
Achten Sie darauf, dass Sie nach der Umstellung auf die Produktionsumgebung keine Nutzungslimits und ‑kontingente überschreiten, insbesondere wenn Sie den kostenlosen Spark-Tarif nutzen. Sie können ein Upgrade auf den Blaze-Tarif (Pay as you go) durchführen.
Richten Sie Budgetbenachrichtigungen für Ihr Projekt ein.
Budgetbenachrichtigungen sind keine Budgetobergrenzen. Sie erhalten eine Benachrichtigung, wenn Sie sich Ihrem konfigurierten Grenzwert nähern oder ihn überschritten haben. So können Sie in Ihrer App oder Ihrem Projekt entsprechende Maßnahmen ergreifen.
Erwägen Sie, erweiterte Benachrichtigungen und Aktionen einzurichten, z. B. Funktionen, die die Abrechnung als Reaktion auf Benachrichtigungen deaktivieren.
Die Nutzung in den produktspezifischen Dashboards oder im zentralen Dashboard „Nutzung und Abrechnung“ in der Firebase-Konsole überwachen.
Best Practices für Firebase-Projekte und ‑Apps
Unabhängig davon, ob Sie ein einzelner Entwickler oder ein großes Team sind, ist es wichtig, dass Ihre Firebase-Projekte, Apps und Ressourcen geschützt und sicher sind und sich mit den Ä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. Das bedeutet, dass viele Best Practices, die Google Cloud empfiehlt, auch für Firebase gelten.
Verwenden Sie unterschiedliche Firebase-Projekte für Entwicklung, Tests und Produktion.
Versuchen Sie, unerwartete Zugriffe auf das Projekt 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 sich vor versehentlichem Löschen von Projekten zu schützen.
Wenden Sie in der Firebase-Konsole ein „Prod“-Tag an, um Ihre Produktionsumgebung leichter zu identifizieren.
Wenn noch nicht geschehen, sollten Sie eine Google Cloud-Organisation einrichten und Ihre Firebase-Projekte hinzufügen.
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 zum Zuweisen von Inhabern für ein Firebase-Projekt
Fügen Sie Projektmitglieder (auch als „Grundsätze“ bezeichnet) als Google-Gruppen und nicht einzeln hinzu.
Durch die Verwendung von Gruppen können Sie Teammitgliedern einfacher Rollen im Bulk zuweisen und verwalten, wer Zugriff auf Ihr Firebase-Projekt hat. Das ist besonders hilfreich, wenn Teammitglieder wechseln oder das Unternehmen verlassen.
Gewähren Sie jedem Projektmitglied (auch „Identität“ genannt) die entsprechende Zugriffsebene für Ihre Firebase-Projekte und -Ressourcen. Weitere Informationen
Jedes relevante Projektmitglied (auch „Principal“ genannt) muss seine Einstellungen so konfigurieren, dass es Benachrichtigungen zu bestimmten Produkten oder zum Projektstatus (z. B. Änderungen am Abrechnungsmodell oder Kontingentlimits) erhält. Weitere Informationen
Sie können auch optional die wichtigen Kontakte Ihres Projekts anpassen, wenn bestimmte oder zusätzliche Projektmitglieder Benachrichtigungen erhalten sollen. Das ist besonders hilfreich, damit nicht nur der Projektinhaber Benachrichtigungen zu Abrechnungs-, rechtlichen und Produktänderungen erhält.
Beschränken Sie Ihre Firebase-API-Schlüssel auf die APIs, die auf der API-Zulassungsliste des Schlüssels stehen müssen. Weitere Informationen zu API-Schlüsseln finden Sie auch in der Sicherheits-Checkliste von Firebase.
Bestimmte in Ihrer App verwendete Dienste vorbereiten
Für jedes Produkt und jede Dienstleistung, die in Ihrer App verwendet werden, gelten möglicherweise bestimmte Überlegungen, wenn sie in der Produktion eingesetzt werden.
Firebase AI Logic
Google Analytics
Zielgruppenbedingungen für Google Analytics definieren, damit ab dem Start Ihrer App Analysedaten erhoben werden.
Erwägen Sie, den Export von Google Analytics-Daten nach BigQuery zu aktivieren, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten exportieren und mit Ihren eigenen Tools verwenden können.
Beschränken Sie Nutzereigenschaften auf Informationen, die für den gesamten Lebenszyklus Ihrer App relevant sind. Es gibt eine Begrenzung für die Anzahl der Eigenschaften, die Sie erstellen können, und sie können nicht archiviert werden.
Prü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) in den Projekteinstellungen der Firebase-Konsole korrekt sind.
App Check
Prüfen Sie, ob die Team-ID in den Projekteinstellungen der Firebase-Konsole korrekt ist.
Falls noch nicht geschehen, erzwingen Sie die Firebase App Check für jeden Dienst, der sie unterstützt. App Check trägt dazu bei, 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 „Mit Google anmelden“ verwendet, personalisieren Sie den OAuth-Zustimmungsbildschirm.
Passen Sie Ihre Domain und Ihren Absender für den Authentication-E-Mail-Versanddienst an.
Wenn Sie die SMS-Bestätigungsdienste von Identity Platform verwenden, sollten Sie Firebase App Check erzwingen und eine SMS-Regionsrichtlinie konfigurieren, 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-Konsole einen 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 die Anmeldung mit Google (für die ein OAuth-Client erforderlich ist) verwendet.
Fügen Sie eine Zugriffssteuerung für Ihre Domains hinzu, um eine unbefugte Nutzung zu verhindern. Gewähren Sie insbesondere Zugriff auf Ihre Produktionsdomain im Authentication-Abschnitt der Firebase-Konsole. Das ist besonders wichtig, wenn Sie Produkte verwenden, die auf Firebase Security Rules basieren.
Cloud Firestore
Konfigurieren Sie Ihre Cloud Firestore Security Rules, um unbeabsichtigten Datenzugriff zu verhindern.
Verwenden Sie ProGuard für die Codekomprimierung in Ihrem Release-Build. Ohne ProGuard können das Cloud Firestore SDK und seine Abhängigkeiten die APK-Größe erhöhen.
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 exportieren und mit Ihren eigenen Tools verwenden können.
Laden Sie Ihren APNs-Authentifizierungsschlüssel für Cloud Messaging in Apple-Apps in der Firebase-Konsole hoch. Wenn Sie APNS-Zertifikate verwenden, muss Ihr Produktions-APNS-Zertifikat hochgeladen werden.
Cloud Storage
- Konfigurieren Sie Ihre Cloud Storage Security Rules, um unbeabsichtigten Datenzugriff zu verhindern.
Crashlytics
Jedes relevante Projektmitglied (auch „Principal“ genannt) muss seine Einstellungen so konfigurieren, dass es Benachrichtigungen zu Crashlytics oder zum Projektstatus (z. B. Änderungen des Abrechnungsmodells oder Kontingentlimits) erhält. Weitere Informationen
Erwägen Sie, den Export von Crashlytics-Daten nach BigQuery zu aktivieren, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten exportieren und mit Ihren eigenen Tools verwenden können.
(nur native Android- und iOS-Apps) Aktivieren Sie die KI-Unterstützung in Crashlytics, um schneller herauszufinden, warum ein Absturz aufgetreten ist und was Sie dagegen tun können.
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.
ProGuard-Zuordnung für Release-Builds zur Verwendung in Crashlytics hochladen. Das Hochladen ist über die Firebase-CLI möglich.
Firebase mit Google Play verknüpfen um einen umfassenderen Überblick über den Zustand Ihrer Android-App zu erhalten. So können Sie beispielsweise die Absturzberichte Ihrer App nach Google Play-Track filtern, um sich im Dashboard besser auf bestimmte Builds zu konzentrieren.
Bei Builds, die auf Android ausgerichtet sind und IL2CPP verwenden, müssen Sie native Symbole für jeden einzelnen Build-Lauf hochladen, 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 daher, den Dienst nicht mehr zu verwenden. Weitere Informationen
Firebase ML
Weitere Informationen finden Sie unter Firebase ML-Apple-App für die Produktion vorbereiten.
Weitere Informationen finden Sie unter Firebase ML-Android-App für die Produktion vorbereiten.
Performance Monitoring
Jedes relevante Projektmitglied (auch „Auftraggeber“ genannt) muss seine Einstellungen so konfigurieren, dass es Benachrichtigungen zu Performance Monitoring oder zum Projektstatus (z. B. Änderungen des Abrechnungsmodells oder Kontingentlimits) erhält. Weitere Informationen
Erwägen Sie, den Export von Performance Monitoring-Daten nach BigQuery zu aktivieren, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten exportieren und mit Ihren eigenen Tools verwenden können.
Realtime Database
Konfigurieren Sie Ihre Realtime Database Security Rules, um unbeabsichtigten Datenzugriff zu verhindern.
Stellen Sie sicher, dass Sie bereit sind, Ihr Unternehmen zu skalieren. 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.
Proguard-Regeln konfigurieren für die Verwendung mit dem Realtime Database.
Remote Config
- Achten Sie darauf, dass experimentelle Remote Config-Regeln keine Auswirkungen auf die Nutzer Ihres Releases haben und dass geeignete Server- und In-App-Standardwerte in Ihrer App verteilt werden.