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 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 Sie kostspielige Fehler vermeiden.

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

  • Sehen Sie sich die allgemeine Sicherheitscheckliste von Firebase an.

  • 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 verfolgen, zu priorisieren und zu beheben.

Limits Ihres Tarifs kennen und Budgetbenachrichtigungen einrichten

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

  • Sie können die Nutzung in den produktspezifischen Dashboards oder im zentralen Nutzung und Abrechnung Dashboard in der Firebase Console verfolgen.

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 Ä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 sich vor versehentlichem Löschen von Projekten zu schützen.

    • 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 als „Prinzipale“ bezeichnet) 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 Team verlassen.

  • Gewähren Sie jedem Projektmitglied (auch als „Prinzipal“ bezeichnet) die entsprechende Zugriffsebene auf Ihre Firebase-Projekte und ‑Ressourcen. Weitere Informationen finden Sie unter Projektzugriff mit Firebase IAM verwalten.

  • Achten Sie darauf, dass jedes relevante Projektmitglied (auch als „Prinzipal“ bezeichnet) 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 können Sie sicherstellen, dass nicht nur der Project Owner 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

Google Analytics

  • Definieren Sie Zielgruppenbedingungen für Google Analytics, um ab der Einführung 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 getrennt von den IAM-Berechtigungen und ‑Rollen für Firebase-Projekte verwaltet.

  • Achten Sie darauf, dass Ihre App Store-ID und Team-ID (falls erforderlich) korrekt sind in den Projekteinstellungen der Firebase Console.

App Check

  • Achten Sie darauf, dass 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 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. Das ist besonders wichtig, wenn Sie Produkte verwenden, die auf Firebase Security Rules basieren.

Cloud Firestore

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 den APNs-Authentifizierungsschlüssel für Cloud Messaging in Apple-Apps hoch. Wenn Sie APNs-Zertifikate verwenden, muss Ihr Produktions-APNs-Zertifikat hochgeladen werden.

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

  • Aktualisieren Sie regelmäßig auf die neueste Version des SDK, um über neue Funktionen und Sicherheitsupdates auf dem Laufenden zu bleiben.

  • Beachten Sie auf Ihrem App-Server die Cloud Messaging Best Practices für die Verwaltung von Registrierungstokens. Speichern Sie Registrierungstokens mit einem Zeitstempel, aktualisieren Sie sie bei Änderungen und entfernen Sie veraltete Tokens (die seit mehr als einem Monat inaktiv sind), um gültige Zustellungsberichte und eine effiziente Nachrichtenausrichtung zu gewährleisten.

  • Beachten Sie die Best Practices beim Senden von Cloud Messaging Nachrichten im großen Maßstab. Verwenden Sie die HTTP v1 API oder Firebase Admin SDK, implementieren Sie einen exponentiellen Backoff mit Jitter für Wiederholungen und beachten Sie die Retry-After Header, um Trafficspitzen und Ratenbegrenzungen zu vermeiden.

Cloud Storage

Crashlytics

  • Dynamic Links ist veraltet. Wir empfehlen daher, den Dienst zu migrieren. Weitere Informationen finden Sie in den FAQs zur Einstellung.

Firebase ML

Performance Monitoring

Realtime Database

Remote Config

  • Achten Sie darauf, dass sich experimentelle Remote Config Regeln nicht auf Ihre Release Nutzer 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, damit Sie Nutzer auffordern oder zwingen können, ihre App zu aktualisieren, wenn ältere Versionen inkompatibel oder veraltet sind.