Firebase-Start-Checkliste

Dieses Dokument enthält eine Checkliste mit Best Practices und Überlegungen, die Sie vor der Einführung einer Firebase-App in der Produktion beachten sollten.

Allgemeine Best Practices für Releases

  • Testen Sie alle Änderungen in der Firebase Local Emulator Suite (für unterstützte Produkte), bevor Sie sie in der Produktion bereitstellen. Gründliche Tests können dazu beitragen, kostspielige Fehler zu vermeiden.

  • Beginnen Sie mit der Erzwingung von 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.

  • Lesen Sie die allgemeine Sicherheitscheckliste von Firebase.

  • Verwenden Sie Firebase Remote Config-Roll-outs, um neue Funktionen und Updates für Ihre App sicher und schrittweise zu veröffentlichen.

  • Falls noch nicht geschehen, sollten Sie Firebase Crashlytics einrichten. Dies ist ein schlankes Tool zur Absturzberichterstellung in Echtzeit, mit dem Sie Stabilitätsprobleme, die die Qualität Ihrer App beeinträchtigen, verfolgen, priorisieren und beheben können.

Limits des Preismodells kennen und Budgetbenachrichtigungen einrichten

  • Achten Sie darauf, dass Sie nach der Inbetriebnahme keine Nutzungslimits und Kontingente überschreiten, insbesondere wenn Sie den kostenlosen Spark-Tarif nutzen. Wir empfehlen ein Upgrade auf das Blaze-Preismodell (Pay as you go).

  • Richten Sie Budgetbenachrichtigungen für Ihr Projekt ein.

    • Budgetbenachrichtigungen sind keine Budgetobergrenzen. Wenn Sie sich dem konfigurierten Schwellenwert nähern oder ihn überschreiten, erhalten Sie eine Benachrichtigung, damit Sie in Ihrer Anwendung oder Ihrem Projekt Maßnahmen ergreifen können.

    • 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, auch Ausgabenobergrenzen einzurichten. Dadurch wird der entsprechende Dienst pausiert, wenn Ihr Projekt das für diesen Dienst festgelegte Budget erreicht.

  • Überwachen Sie Ihre Nutzung in den produktspezifischen Dashboards oder im zentralen Dashboard Nutzung und Abrechnung in der Firebase Console.

Best Practices für Firebase-Projekte und -Apps beachten

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 Änderungen in Ihrem Team weiterentwickeln können.

Ein Firebase-Projekt ist eigentlich nur ein Google Cloud-Projekt, für das Firebase-Dienste und -Konfigurationen aktiviert sind. Das bedeutet, dass viele der von Google Cloud empfohlenen Best Practices auch für Firebase gelten.

  • Verwenden Sie verschiedene Firebase-Projekte für Entwicklung, Tests und Produktion.

    Versuchen Sie, unerwartete Risiken für das Projekt im Zusammenhang mit Ihrer Produktions-App zu begrenzen. Weitere Informationen zum Einrichten von Entwicklungsworkflows

  • Schützen Sie Ihre wichtigen Projekte, insbesondere das Projekt, das mit Ihrer Produktions-App verknüpft ist.

    • Verwenden Sie Projektsperren, um das versehentliche Löschen von Projekten zu verhindern.

    • Wenden Sie in der Firebase-Konsole ein „Prod“-Tag an, um Ihre Produktionsumgebung leichter zu identifizieren.

  • 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 dazu, wann und wie Sie Inhaber für ein Firebase-Projekt zuweisen

  • Fügen Sie Projektmitglieder (auch „Hauptkonten“ genannt) als Google-Gruppen statt einzeln hinzu.

    Mithilfe von Gruppen können Sie Teammitgliedern Rollen im Bulk zuweisen und den Zugriff auf Ihr Firebase-Projekt verwalten, insbesondere wenn Teammitglieder wechseln oder das Unternehmen verlassen.

  • Gewähren Sie jedem Projektmitglied (auch „Hauptkonto“ genannt) die entsprechende Zugriffsebene für Ihre Firebase-Projekte und ‑Ressourcen. Weitere Informationen finden Sie unter Projektzugriff mit Firebase IAM verwalten.

  • Achten Sie darauf, dass alle relevanten Projektmitglieder (auch „Hauptkonten“ genannt) ihre Einstellungen so festlegen, dass sie Benachrichtigungen zu bestimmten Produkten oder zum Projektstatus (z. B. Änderungen am Abrechnungstarif oder Kontingentlimits) erhalten. Weitere Informationen finden Sie unter Firebase-Benachrichtigungen erhalten.

    Sie können auch optional die „wichtigen Kontakte“ Ihres Projekts anpassen, wenn bestimmte oder zusätzliche Projektmitglieder Benachrichtigungen erhalten sollen. Das ist besonders hilfreich, um sicherzustellen, dass nicht nur der Projektinhaber Benachrichtigungen zu Abrechnung, rechtlichen Hinweisen 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 in der Sicherheitscheckliste von Firebase.

Bestimmte Dienste vorbereiten, die in Ihrer App verwendet werden

Für jedes Produkt und jeden Dienst, die in Ihrer Anwendung verwendet werden, gelten möglicherweise bestimmte Überlegungen, wenn sie in der Produktion verwendet werden.

Firebase AI Logic

Google Analytics

App Check

  • Prüfen Sie, ob Ihre Team-ID in den Projekteinstellungen der Firebase-Konsole korrekt ist.

  • Wenn Sie es noch nicht getan haben, beginnen Sie mit der Erzwingung von 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.

Authentication

  • Deaktivieren Sie alle Anbieter, die Sie nicht verwenden (insbesondere die anonyme Authentifizierung).

  • Wenn Ihre App „Über Google anmelden“ verwendet, personalisieren Sie Ihren OAuth-Zustimmungsbildschirm.

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

  • Wenn Sie die SMS-Bestätigungsdienste von Identity Platform verwenden, sollten Sie die Erzwingung 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 in Ihrer App die Anmeldung per Telefonnummer oder „Über Google anmelden“ (wofür ein OAuth-Client erforderlich ist) verwendet wird.

  • 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 Abschnitt Authentication der Firebase-Konsole. Das ist besonders wichtig, wenn Sie Produkte verwenden, die auf Firebase Security Rules basieren.

Cloud Firestore

Cloud Messaging

  • Sie können den Export von Cloud Messaging-Daten nach BigQuery aktivieren, um Ihre Daten mit BigQuery-SQL zu analysieren oder die Daten für die Verwendung mit Ihren eigenen Tools zu exportieren.

  • 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 sein.

  • Sie können das Cloud-Audit-Logging für Cloud Messaging aktivieren, um Audit-Logs zu generieren, in denen Verwaltungs- und Zugriffsaktivitäten in Ihren Google Cloud-Ressourcen aufgezeichnet werden.

  • Aktualisieren Sie das SDK regelmäßig auf die neueste Version, um von neuen Funktionen und Sicherheitsupdates zu profitieren.

  • Folgen Sie den Best Practices für die Verwaltung von Cloud Messaging-Registrierungstokens auf Ihrem Anwendungsserver. Speichern Sie Registrierungstokens mit einem Zeitstempel, aktualisieren Sie sie bei Änderungen und entfernen Sie veraltete Tokens (die länger als einen Monat inaktiv waren), um gültige Zustellungsberichte und eine effiziente Ausrichtung von Nachrichten zu ermöglichen.

  • Folgen Sie den Best Practices für das Senden von Cloud Messaging-Nachrichten in großem Umfang. Verwenden Sie die HTTP v1 API oder Firebase Admin SDK, implementieren Sie einen exponentiellen Backoff mit Jitter für Wiederholungsversuche und beachten Sie die Retry-After-Header, um Trafficspitzen und Ratenbegrenzungen zu vermeiden.

Cloud Storage

Crashlytics

  • Achten Sie darauf, dass alle relevanten Projektmitglieder (auch „Hauptkonten“ genannt) ihre Einstellungen so festlegen, dass sie Benachrichtigungen zu Crashlytics oder zum Projektstatus (z. B. Änderungen am Abrechnungstarif oder Kontingentlimits) erhalten. 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 für die Verwendung mit Ihren eigenen Tools zu exportieren.

  • (nur natives Android und iOS) Sie können die KI-Unterstützung in Crashlytics aktivieren, um schneller zu verstehen, 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.

  • Laden Sie die ProGuard-Zuordnung für Release-Builds zur Verwendung in Crashlytics hoch. Das Hochladen ist mit der Firebase-Befehlszeile möglich.

  • Verknüpfen Sie Firebase mit Google Play, um einen besseren Überblick über den Zustand Ihrer Android-App zu erhalten. Sie können die Absturzberichte Ihrer App beispielsweise nach dem Google Play-Track filtern, um das Dashboard besser auf bestimmte Builds auszurichten.

  • Wenn Sie Builds für Android erstellen und IL2CPP verwenden, müssen Sie für jeden einzelnen Build-Lauf, für den Sie Symbole benötigen, native Symbole hochladen, unabhängig davon, ob Code- oder Konfigurationsänderungen vorgenommen wurden.

  • Dynamic Links wurde eingestellt. Wir empfehlen daher, den Dienst nicht mehr zu verwenden. Weitere Informationen finden Sie in den FAQs zur Einstellung.

Firebase ML

Performance Monitoring

  • Achten Sie darauf, dass alle relevanten Projektmitglieder (auch „Hauptkonten“ genannt) ihre Einstellungen so festlegen, dass sie Benachrichtigungen zu Performance Monitoring oder zum Projektstatus (z. B. Änderungen am Abrechnungstarif oder Kontingentlimits) erhalten. 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 für die Verwendung mit Ihren eigenen Tools zu exportieren.

Realtime Database

Remote Config

  • Achten Sie darauf, dass sich experimentelle Remote Config-Regeln nicht auf die Nutzer Ihrer Release-Version auswirken und dass die entsprechenden Server- und In-App-Standardwerte in Ihrer App verteilt werden.

  • Sie können einen minimum_version-Parameter in Remote Config konfigurieren, um Nutzer aufzufordern oder zu verpflichten, ihre App zu aktualisieren, wenn frühere Versionen inkompatibel oder veraltet sind.