Firebase-Projekte verstehen

Diese Seite bietet einen kurzen Überblick über mehrere wichtige Konzepte zu Firebase-Projekten. Wenn verfügbar, folgen Sie den Links, um detailliertere Informationen zu Funktionen, Diensten, Tools und Best Practices zu erhalten.

Beziehung zwischen Firebase-Projekten, Apps und Produkten

Ein Firebase-Projekt ist die Entität der obersten Ebene für Firebase. In einem Projekt können Sie Ihre Apple-, Android- oder Web-Apps registrieren. Nachdem Sie Ihre Apps bei Firebase registriert haben, können Sie die Firebase SDKs für eine beliebige Anzahl von Firebase-Produkten hinzufügen, z. B. Analytics, Cloud Firestore, Performance Monitoring oder Remote Config.

Ausführlichere Informationen zu diesem Prozess finden Sie im Leitfaden „Erste Schritte“ für Ihre Plattform:
iOS+ | Android | Web | Einheit | C++ | Flattern .

Die Hierarchie von Firebase-Projekten verstehen

Diagramm, das die grundlegende Hierarchie eines Firebase-Projekts zeigt, einschließlich des Projekts, seiner registrierten Apps sowie seiner bereitgestellten Ressourcen und Dienste Dieses Diagramm zeigt die grundlegende Hierarchie eines Firebase-Projekts. Hier sind die wichtigsten Beziehungen:

  • Ein Firebase-Projekt ist wie ein Container für alle Ihre Apps und alle für das Projekt bereitgestellten Ressourcen und Dienste.

  • Für ein Firebase-Projekt können eine oder mehrere Firebase-Apps registriert sein (z. B. sowohl die iOS- als auch die Android-Version einer App oder sowohl die kostenlose als auch die kostenpflichtige Version einer App).

  • Alle Firebase-Apps, die bei derselben Firebase- Projektfreigabe registriert sind, haben Zugriff auf dieselben Ressourcen und Dienste, die für das Projekt bereitgestellt werden . Hier sind einige Beispiele:

    • Alle für dasselbe Firebase-Projekt registrierten Firebase-Apps nutzen dieselben Backends wie Firebase-Hosting, Authentifizierung, Echtzeitdatenbank, Cloud Firestore, Cloud-Speicher und Cloud-Funktionen.

    • Alle für dasselbe Firebase-Projekt registrierten Firebase-Apps sind mit derselben Google Analytics-Property verknüpft, wobei jede Firebase-App einen separaten Datenstrom in dieser Property darstellt.

Beziehung zwischen Firebase-Projekten und Google Cloud

Wenn Sie ein neues Firebase-Projekt erstellen, erstellen Sie im Hintergrund tatsächlich ein Google Cloud-Projekt . Sie können sogar zuerst ein Google Cloud-Projekt erstellen und später Firebase zum Projekt hinzufügen. Sie können sich ein Google Cloud-Projekt als einen virtuellen Container für Daten, Code, Konfiguration und Dienste vorstellen.

Beachten Sie, dass Firebase für alle Firebase-Projekte automatisch das Label „ firebase:enabled auf der Seite „Labels“ für Ihr Projekt in der Google Cloud Console hinzufügt. Erfahren Sie mehr über dieses Label in unseren FAQ .

Da es sich bei einem Firebase-Projekt um ein Google Cloud-Projekt handelt:

  • Sie können mit einem Projekt in der Firebase-Konsole sowie in der Google Cloud-Konsole und in der Google APIs-Konsole interagieren.

  • Sie können in einem Projekt Produkte und APIs von Firebase und Google Cloud verwenden.

  • Abrechnung und Berechtigungen für ein Projekt werden in Firebase und Google Cloud gemeinsam genutzt.

  • Eindeutige Kennungen für ein Projekt (wie Projektnummer und Projekt-ID ) werden in Firebase und Google Cloud gemeinsam genutzt.

  • Durch das Löschen eines Projekts wird es in Firebase und Google Cloud gelöscht.

Ein Firebase-Projekt einrichten und Apps registrieren

Sie können ein Firebase-Projekt einrichten und Apps in der Firebase-Konsole registrieren (oder, für erweiterte Anwendungsfälle, über die Firebase Management REST API oder die Firebase CLI ). Wenn Sie ein Projekt einrichten und Apps registrieren, müssen Sie einige organisatorische Entscheidungen treffen und Firebase-spezifische Konfigurationsinformationen zu Ihren lokalen Projekten hinzufügen.

Für Produktionsanwendungen müssen Sie einen klaren Entwicklungsworkflow einrichten, der normalerweise die Verwendung mehrerer Umgebungen umfasst. Sehen Sie sich unsere Dokumentation zu Entwickler-Workflows an, einschließlich allgemeiner Best Practices und allgemeiner Sicherheitsrichtlinien für die Einrichtung von Firebase-Projekten und die Registrierung von Apps, um Ihren Entwicklungs-Workflow zu erstellen.

Interaktion mit einem Firebase-Projekt

Neben den Produkt-SDKs können Sie über verschiedene Tools und Schnittstellen direkt mit einem Firebase-Projekt interagieren.

Firebase-Konsole

Die Firebase-Konsole bietet die umfassendste Umgebung für die Verwaltung von Firebase-Produkten, Apps und Einstellungen auf Projektebene.

Firebase-Konsole – Projektübersichtsbildschirm

Im linken Bereich der Konsole werden die Firebase-Produkte aufgelistet, geordnet nach Kategorien der obersten Ebene. Greifen Sie oben im linken Bereich auf die Einstellungen eines Projekts zu, indem Sie auf klicken. Zu den Einstellungen eines Projekts gehören Integrationen , Zugriffsberechtigungen und Abrechnung .

In der Mitte der Konsole werden Schaltflächen angezeigt, mit denen Setup-Workflows zum Registrieren verschiedener Arten von Apps gestartet werden. Sobald Sie Firebase verwenden, verwandelt sich der Hauptbereich der Konsole in ein Dashboard, das Statistiken zu den von Ihnen verwendeten Produkten anzeigt.

Beachten Sie, dass es sich bei einem Firebase-Projekt auch um ein Google Cloud-Projekt handelt und Sie möglicherweise feststellen, dass Sie für verschiedene Aufgaben oder Produkte die Google Cloud-Konsole anstelle der Firebase-Konsole verwenden müssen.

Firebase CLI (ein Befehlszeilentool)

Firebase bietet außerdem die Firebase-CLI zum Konfigurieren und Verwalten bestimmter Firebase-Produkte wie Firebase Hosting, Cloud Functions for Firebase und Firebase Extensions.

Nach der Installation der CLI haben Sie Zugriff auf den globalen firebase Befehl . Verwenden Sie die CLI, um Ihr lokales App-Verzeichnis mit einem Firebase-Projekt zu verknüpfen und dann neue Versionen von Firebase-gehosteten Inhalten oder Aktualisierungen von Funktionen bereitzustellen .

Firebase Management REST-API

Mit der Firebase Management REST API können Sie ein Firebase-Projekt programmgesteuert verwalten. Sie können beispielsweise eine App programmgesteuert bei einem Projekt registrieren oder die Apps auflisten, die bereits registriert sind ( iOS+ | Android | Web ).

Firebase-Projektkennungen

Ein Firebase-Projekt kann im Firebase-Backend und in verschiedenen Entwicklerschnittstellen anhand unterschiedlicher Kennungen identifiziert werden, darunter der Projektname , die Projektnummer und die Projekt-ID .

Der Projektname

Wenn Sie ein Projekt erstellen, geben Sie einen Projektnamen an. Diese Kennung ist der interne Name für ein Projekt in der Firebase-Konsole , der Google Cloud-Konsole und der Firebase-CLI . Der Projektname wird in keinem öffentlich sichtbaren Firebase- oder Google Cloud-Produkt, -Dienst oder -Ressource angezeigt. Es dient lediglich dazu, Ihnen die Unterscheidung zwischen mehreren Projekten zu erleichtern.

Sie können einen Projektnamen jederzeit in den der Firebase - Konsole bearbeiten. Der Projektname wird im oberen Bereich angezeigt.

Die Projektnummer

Ein Firebase-Projekt (und das zugehörige Google Cloud-Projekt ) hat eine Projektnummer . Dies ist die von Google zugewiesene global eindeutige kanonische Kennung für das Projekt. Verwenden Sie diese Kennung, wenn Sie Integrationen konfigurieren und/oder API-Aufrufe an Firebase, Google oder Drittanbieterdienste durchführen.

Sie können eine Projektnummer nicht bearbeiten. Wenn Sie ein Projekt löschen, wird auch die Projektnummer gelöscht und kann nie wieder von einem anderen Projekt verwendet werden.

Die Projekt-ID

Ein Firebase-Projekt (und das zugehörige Google Cloud-Projekt ) hat eine Projekt-ID . Dies ist eine benutzerdefinierte eindeutige Kennung für das Projekt in ganz Firebase und Google Cloud. Wenn Sie ein Firebase-Projekt erstellen, weist Firebase dem Projekt automatisch eine eindeutige ID zu, Sie können diese jedoch während der Projekteinrichtung bearbeiten. Dieser Bezeichner sollte im Allgemeinen als praktischer Alias ​​zur Referenzierung des Projekts behandelt werden.

Firebase-Konfigurationsdateien und -Objekte

Wenn Sie eine App bei einem Firebase-Projekt registrieren, stellt die Firebase-Konsole eine Firebase-Konfigurationsdatei (Apple-/Android-Apps) oder ein Konfigurationsobjekt (Web-Apps) bereit, die Sie direkt zu Ihrem lokalen App-Verzeichnis hinzufügen.

  • Für Apple-Apps fügen Sie eine GoogleService-Info.plist Konfigurationsdatei hinzu.
  • Für Android-Apps fügen Sie eine Konfigurationsdatei google-services.json hinzu.
  • Für Web-Apps fügen Sie ein Firebase-Konfigurationsobjekt hinzu.

Sie können jederzeit die Firebase-Konfigurationsdatei oder das Firebase-Objekt einer App abrufen .

Eine Firebase-Konfigurationsdatei oder ein Firebase-Objekt verknüpft eine App mit einem bestimmten Firebase-Projekt und seinen Ressourcen (Datenbanken, Speicherbuckets usw.). Die Konfiguration umfasst „Firebase-Optionen“, das sind Parameter, die von Firebase- und Google-Diensten benötigt werden, um mit Firebase-Server-APIs zu kommunizieren und Client-Daten mit dem Firebase-Projekt und der Firebase-App zu verknüpfen. Hier sind die erforderlichen, minimalen „Firebase-Optionen“:

  • API-Schlüssel : eine einfache verschlüsselte Zeichenfolge, die beim Aufruf bestimmter APIs verwendet wird, die nicht auf private Benutzerdaten zugreifen müssen (Beispielswert: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • Projekt-ID : eine benutzerdefinierte eindeutige Kennung für das Projekt in ganz Firebase und Google Cloud. Dieser Bezeichner kann in URLs oder Namen einiger Firebase-Ressourcen vorkommen, sollte aber im Allgemeinen als praktischer Alias ​​zum Verweisen auf das Projekt behandelt werden. (Beispielwert: myapp-project-123 )

  • Anwendungs-ID („AppID“) : die eindeutige Kennung für die Firebase-App in ganz Firebase mit einem plattformspezifischen Format:

    • Firebase-Apps von Apple: GOOGLE_APP_ID (Beispielwert: 1:1234567890:ios:321abc456def7890 )
      Dies ist keine Apple-Bundle-ID.
    • Firebase-Android-Apps: mobilesdk_app_id (Beispielwert: 1:1234567890:android:321abc456def7890 )
      Dies ist kein Android-Paketname oder eine Android-Anwendungs-ID.
    • Firebase-Web-Apps: appId (Beispielwert: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Der Inhalt der Firebase-Konfigurationsdatei oder des Firebase-Objekts gilt als öffentlich, einschließlich der plattformspezifischen ID der App (Apple-Bundle-ID oder Android-Paketname) und der projektspezifischen Firebase-Werte wie API-Schlüssel, Projekt-ID, Echtzeitdatenbank-URL usw Name des Cloud Storage-Buckets. Nutzen Sie vor diesem Hintergrund Firebase-Sicherheitsregeln , um Ihre Daten und Dateien in Realtime Database , Cloud Firestore und Cloud Storage zu schützen.

Für Open-Source-Projekte empfehlen wir im Allgemeinen nicht, die Firebase-Konfigurationsdatei oder das Firebase-Objekt der App in die Quellcodeverwaltung einzubeziehen, da Ihre Benutzer in den meisten Fällen ihre eigenen Firebase-Projekte erstellen und ihre Apps auf ihre eigenen Firebase-Ressourcen verweisen sollten (über ihre eigene Firebase-Konfiguration). Datei oder Objekt).

Allgemeine Grenzwerte für Firebase-Projekte, Apps und Websites

Hier sind einige allgemeine Einschränkungen für Firebase-Projekte, -Apps und -Sites:

  • Anzahl der Projekte pro Konto

    • Spark-Preisplan – Das Projekterstellungskontingent ist auf eine geringere Anzahl von Projekten beschränkt (normalerweise etwa 5–10).
    • Blaze-Preisplan – Das Projekterstellungskontingent pro Konto erhöht sich erheblich, solange das zugehörige Cloud-Rechnungskonto in gutem Zustand ist.

    Die Begrenzung der Projekterstellungsquote stellt für die meisten Entwickler kaum ein Problem dar, bei Bedarf können Sie jedoch eine Erhöhung der Projektquote beantragen .

    Beachten Sie, dass das vollständige Löschen eines Projekts 30 Tage dauert und auf das Projektkontingent angerechnet wird, bis das Projekt vollständig gelöscht ist.

  • Anzahl der Apps pro Projekt

    Firebase beschränkt die Gesamtzahl der Firebase-Apps innerhalb eines Firebase-Projekts auf 30.

    Sie sollten sicherstellen, dass alle Firebase-Apps innerhalb eines einzelnen Firebase-Projekts aus Sicht des Endbenutzers Plattformvarianten derselben Anwendung sind. Weitere Informationen zur Mandantenfähigkeit finden Sie in unseren Best Practices-Dokumenten.

    Erfahren Sie mehr über die Beschränkung der Apps pro Projekt in den FAQ.

  • Anzahl der Hosting-Sites pro Projekt

    Die Multisite-Funktion von Firebase Hosting unterstützt maximal 36 Sites pro Projekt.

Starten Sie Ihre App