Firebase-Start-Checkliste

Dieses Dokument enthält eine Checkliste mit Best Practices und Überlegungen, die Sie vor dem Start einer Firebase-App in der Produktion berücksichtigen sollten.

Allgemeine Best Practices für die Veröffentlichung

  • Achte darauf, dass du alle Änderungen in der Firebase Local Emulator Suite (für unterstützte Produkte) getestet hast, bevor du sie in der Produktion bereitstellst. Durch gründliche Tests lassen sich kostspielige Fehler vermeiden.

  • Beginnen Sie mit der Erzwingung Firebase App Check für jeden Dienst, der dies unterstützt. App Check trägt dazu bei, dass nur Ihre tatsächlichen Apps auf Ihre Backend-Dienste und -Ressourcen zugreifen können.

  • Allgemeine Sicherheitscheckliste für Firebase

  • Mit Firebase Remote Config-Rollouts können Sie neue Funktionen und Updates für Ihre App sicher und schrittweise veröffentlichen.

  • Wenn Sie es noch nicht getan haben, sollten Sie Firebase Crashlytics einrichten. Dieses Tool ist ein schlanker Echtzeit-Absturzberichterstatter, mit dem Sie Stabilitätsprobleme, die die Qualität Ihrer App beeinträchtigen, nachverfolgen, priorisieren und beheben können.

Limits Ihres Preismodells 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 das Blaze-Preismodell (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 dem konfigurierten Grenzwert nähern oder ihn überschritten haben. So können Sie in Ihrer App oder Ihrem Projekt entsprechende Maßnahmen ergreifen.

    • Sie können erweiterte Benachrichtigungen und Aktionen einrichten, z. B. Funktionen, die die Abrechnung als Reaktion auf Benachrichtigungen deaktivieren.

    • Wenn Sie Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase und Firebase Extensions verwenden, empfehlen wir dringend, dass Sie auch Ausgabenlimits einrichten. Dadurch wird der entsprechende Dienst pausiert, wenn das für diesen Dienst festgelegte Budget für Ihr Projekt erreicht ist.

  • Die Nutzung lässt sich in den produktspezifischen Dashboards oder im zentralen Dashboard „Nutzung und Abrechnung“ in der Firebase Console überwachen.

Best Practices für Ihre 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 verschiedene 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 identifizieren zu können.

  • Falls 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 „Grundsätze“ genannt) als Google-Gruppen statt einzeln hinzu.

    Mit Gruppen können Sie Rollen für Teammitglieder einfacher im Bulk zuweisen und verwalten, wer Zugriff auf Ihr Firebase-Projekt hat. Das ist besonders hilfreich, wenn Teammitglieder wechseln oder das Team verlassen.

  • Gewähren Sie jedem Projektmitglied (auch „Principal“ genannt) die entsprechende Zugriffsebene für Ihre Firebase-Projekte und ‑Ressourcen. Weitere Informationen

  • Jedes relevante Projektmitglied (auch „Prinzipal“ 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 wichtige Kontakte für Ihr Projekt anpassen, wenn bestimmte oder zusätzliche Projektmitglieder Benachrichtigungen erhalten sollen. Das ist besonders hilfreich, um sicherzustellen, dass nicht nur der Projektinhaber Benachrichtigungen zu Abrechnungs-, rechtlichen und Produktänderungen erhält.

  • Schränken Sie Ihre Firebase-API-Schlüssel auf die APIs ein, 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 für die Verwendung in der Produktion.

Firebase AI Logic

Google Analytics

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 „Über Google anmelden“ verwendet, personalisieren Sie den OAuth-Zustimmungsbildschirm.

  • Domain und Absender für den Authentication-E-Mail-Versanddienst anpassen.

  •  Wenn Sie die SMS-Bestätigungsdienste von Identity Platform verwenden, sollten Sie die Durchsetzung von Firebase App Check starten 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 für Ihre Domains eine Zugriffssteuerung 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

Cloud Messaging

Cloud Storage

Crashlytics

  • Jedes relevante Projektmitglied (auch „Prinzipal“ genannt) muss seine Einstellungen so konfigurieren, dass es Benachrichtigungen zu Crashlytics oder zum Projektstatus (z. B. Änderungen am Abrechnungsmodell oder Kontingentlimits) erhält. Weitere Informationen

  • Aktivieren Sie den Export von Crashlytics-Daten nach BigQuery, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten exportieren und in 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 in Ihrem 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 wird nicht mehr unterstützt. Wir empfehlen daher, den Dienst nicht mehr zu verwenden. Weitere Informationen

Firebase ML

Performance Monitoring

  • Achten Sie darauf, dass jedes relevante Projektmitglied (auch „Identität“ genannt) seine Einstellungen so konfiguriert, dass es Benachrichtigungen zu Performance Monitoring oder zum Projektstatus (z. B. Änderungen am Abrechnungsmodell oder Kontingentlimits) erhält. Weitere Informationen

  • Aktivieren Sie den Export von Performance Monitoring-Daten nach BigQuery, damit Sie Ihre Daten mit BigQuery SQL analysieren oder die Daten exportieren und in 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, 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 Ihre Release-Nutzer haben und dass geeignete Server- und In-App-Standardwerte in Ihrer App verteilt werden.

  • Erwägen Sie, in Remote Config einen minimum_version-Parameter zu konfigurieren, damit Sie Nutzer auffordern oder dazu zwingen können, ihre App zu aktualisieren, wenn ältere Versionen inkompatibel oder eingestellt werden.