Firestore & Storage einrichten
Nachdem du ein Firebase-Projekt erstellt hast, richtest du jetzt die Datenbank (Firestore) und den Dateispeicher (Storage) ein. Der Assistent unterstützt sowohl automatische als auch manuelle Einrichtung.
Setup-Modus wählen
Section titled “Setup-Modus wählen”Beim Start des Firestore-Assistenten kannst du zwischen zwei Modi wählen:
Voraussetzung: Ein Service Account muss konfiguriert sein.
Vorteile:
- Sicherheitsregeln werden automatisch bereitgestellt
- Schneller und fehlerfreier Prozess
- Keine manuelle Konfiguration nötig
So funktioniert es:
- Tippe auf “Automatisch”
- Die App verbindet sich mit Firebase
- Firestore Rules werden automatisch bereitgestellt
- Storage Rules werden automatisch bereitgestellt
- Fertig in wenigen Sekunden!
Keine Voraussetzungen - funktioniert immer.
So funktioniert es:
- Der Assistent zeigt dir Schritt für Schritt, was du tun musst
- Du kopierst die Regeln aus der App und fügst sie in Firebase ein
- Mehr Kontrolle, aber mehr Aufwand
Wähle diesen Modus, wenn:
- Kein Service Account vorhanden ist
- Du die Kontrolle über jeden Schritt behalten möchtest
- Der automatische Modus fehlschlägt
Den Assistenten starten
Section titled “Den Assistenten starten”- Öffne den Edit Mode in deiner App
- Gehe zu Module & Features
- Tippe auf Firebase und dann auf Firestore einrichten
- Wähle Automatisch oder Manuell
Automatischer Modus
Section titled “Automatischer Modus”Wenn du den automatischen Modus gewählt hast:
- Die App zeigt “Firestore Rules werden bereitgestellt…”
- Nach wenigen Sekunden: “Storage Rules werden bereitgestellt…”
- Erfolgsmeldung: “Firebase ist vollständig konfiguriert”
- Tippe auf “Fertig”
Falls der automatische Modus fehlschlägt, kannst du jederzeit auf den manuellen Modus wechseln.
Manueller Modus: Schritt für Schritt
Section titled “Manueller Modus: Schritt für Schritt”Teil 1: Firestore-Datenbank erstellen
Section titled “Teil 1: Firestore-Datenbank erstellen”Schritt 1: Bei Firebase anmelden
Section titled “Schritt 1: Bei Firebase anmelden”Was passiert: Die Firebase Console wird im Browser geladen.
Was du tun musst:
- Melde dich mit deinem Google-Konto an (falls nötig)
- Warte, bis die Konsole geladen ist
Schritt 2: Projekt auswählen
Section titled “Schritt 2: Projekt auswählen”Was passiert: Du siehst die Projektübersicht.
Was du tun musst:
- Tippe auf dein Firebase-Projekt in der Liste
Schritt 3: Firestore erstellen
Section titled “Schritt 3: Firestore erstellen”Was passiert: Du bist in deinem Projekt.
Was du tun musst:
- Tippe im linken Menü auf “Firestore Database”
- Tippe auf “Datenbank erstellen”
Schritt 4: Produktionsmodus wählen
Section titled “Schritt 4: Produktionsmodus wählen”Was passiert: Ein Dialog zur Modusauswahl erscheint.
Was du tun musst:
- Wähle “Im Produktionsmodus starten”
- Tippe auf “Weiter”
Schritt 5: Standort wählen
Section titled “Schritt 5: Standort wählen”Was passiert: Du wählst den Serverstandort.
Was du tun musst:
- Wähle einen Standort (empfohlen: europe-west3 für Frankfurt)
- Tippe auf “Aktivieren”
| Standort | Region | Latenz für DACH |
|---|---|---|
europe-west3 | Frankfurt | Sehr gut |
europe-west1 | Belgien | Gut |
europe-west6 | Zürich | Sehr gut |
Teil 2: Firestore Security Rules
Section titled “Teil 2: Firestore Security Rules”Schritt 6: Rules Tab öffnen
Section titled “Schritt 6: Rules Tab öffnen”Was passiert: Firestore wurde erstellt.
Was du tun musst:
- Tippe oben auf den Tab “Rules”
Schritt 7: Security Rules einfügen
Section titled “Schritt 7: Security Rules einfügen”Was passiert: Du siehst den Rules-Editor.
Was du tun musst:
- Lösche den vorhandenen Code
- Kopiere die Regeln aus der App (Button “Kopieren”)
- Füge die Regeln in den Editor ein
- Tippe auf “Veröffentlichen”
Die Security Rules sehen so aus:
rules_version = '2';service cloud.firestore { match /databases/{database}/documents { // User Profiles Collection match /user_profiles/{userId} { allow read: if resource.data.privacyLevel == 'public' || request.auth.uid == userId; allow create, update: if request.auth.uid == userId; allow delete: if request.auth.uid == userId; }
// Follow Relationships Collection match /follow_relationships/{relationshipId} { allow read: if request.auth != null; allow create: if request.auth.uid == request.resource.data.followerId; allow delete: if request.auth.uid == resource.data.followerId; } }}Teil 3: Firestore Indexes
Section titled “Teil 3: Firestore Indexes”Schritt 8: Indexes Tab öffnen
Section titled “Schritt 8: Indexes Tab öffnen”Was passiert: Die Rules sind veröffentlicht.
Was du tun musst:
- Tippe oben auf den Tab “Indexes”
Schritt 9: Indexes erstellen
Section titled “Schritt 9: Indexes erstellen”Was passiert: Du siehst die Index-Übersicht.
Was du tun musst: Für jeden Index in der Liste:
- Tippe auf “Index hinzufügen” oder “Create Index”
- Gib die Collection ein (z.B.
users) - Füge die Felder mit ihrer Sortierung hinzu
- Wähle Collection als Scope
- Tippe auf “Erstellen”
Erforderliche Indexes
Section titled “Erforderliche Indexes”Tippe auf jeden Wert, um ihn zu kopieren:
Index 1: Profilsuche nach Name
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | users | privacyLevel | Aufsteigend |
| 2 | displayName | Aufsteigend |
Index 2: Beliebte Profile
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | users | privacyLevel | Aufsteigend |
| 2 | followerCount | Absteigend |
Index 3: Auffindbare Profile
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | users | privacyLevel | Aufsteigend |
| 2 | discoverableInSearch | Aufsteigend | |
| 3 | followerCount | Absteigend |
Index 4: Profilverzeichnis
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | users | privacyLevel | Aufsteigend |
| 2 | discoverableInSearch | Aufsteigend | |
| 3 | displayName | Aufsteigend |
Index 5: Verifizierte Profile
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | users | isVerified | Aufsteigend |
| 2 | followerCount | Absteigend |
Index 6: Follower-Liste
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | follows | followingId | Aufsteigend |
| 2 | isBlocked | Aufsteigend | |
| 3 | isPending | Aufsteigend | |
| 4 | createdAt | Absteigend |
Index 7: Following-Liste
| Feld | Collection | Felder | Sortierung |
|---|---|---|---|
| 1 | follows | followerId | Aufsteigend |
| 2 | isBlocked | Aufsteigend | |
| 3 | isPending | Aufsteigend | |
| 4 | createdAt | Absteigend |
Teil 4: Firebase Storage
Section titled “Teil 4: Firebase Storage”Schritt 10: Storage öffnen
Section titled “Schritt 10: Storage öffnen”Was passiert: Die Indexes werden erstellt (im Hintergrund).
Was du tun musst:
- Tippe im linken Menü auf “Storage”
Schritt 11: Storage aktivieren
Section titled “Schritt 11: Storage aktivieren”Was passiert: Storage muss aktiviert werden (falls noch nicht geschehen).
Was du tun musst:
- Tippe auf “Get started” oder “Jetzt starten”
- Wähle “Production mode”
- Wähle deinen Standort (derselbe wie bei Firestore empfohlen)
- Tippe auf “Done”
Schritt 12: Storage Rules Tab
Section titled “Schritt 12: Storage Rules Tab”Was passiert: Storage ist aktiviert.
Was du tun musst:
- Tippe oben auf den Tab “Rules”
Schritt 13: Storage Rules einfügen
Section titled “Schritt 13: Storage Rules einfügen”Was passiert: Du siehst den Storage Rules-Editor.
Was du tun musst:
- Lösche den vorhandenen Code
- Kopiere die Storage Rules aus der App
- Füge sie in den Editor ein
- Tippe auf “Publish”
Die Storage Rules sehen so aus:
rules_version = '2';service firebase.storage { match /b/{bucket}/o { // User Profile Images (Avatar & Cover) match /user_profiles/{userId}/{allPaths=**} { allow read: if true; allow write: if request.auth != null && request.auth.uid == userId; allow create: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } }}Schritt 14: Fertig!
Section titled “Schritt 14: Fertig!”Geschafft! Firebase ist jetzt vollständig eingerichtet:
- ✅ Firestore-Datenbank erstellt
- ✅ Firestore Security Rules aktiv
- ✅ Firestore Indexes werden erstellt
- ✅ Firebase Storage aktiviert
- ✅ Storage Security Rules aktiv
Was die Regeln bewirken
Section titled “Was die Regeln bewirken”Firestore Security Rules
Section titled “Firestore Security Rules”| Regel | Was sie macht |
|---|---|
user_profiles lesen | Öffentliche Profile können von allen gelesen werden, private nur vom Besitzer |
user_profiles schreiben | Nur der Besitzer kann sein eigenes Profil bearbeiten |
follow_relationships lesen | Alle angemeldeten Nutzer können Follow-Beziehungen sehen |
follow_relationships schreiben | Nutzer können nur ihre eigenen Follows erstellen/löschen |
Storage Security Rules
Section titled “Storage Security Rules”| Regel | Was sie macht |
|---|---|
| Profilbilder lesen | Alle können Profilbilder sehen (öffentlich) |
| Profilbilder hochladen | Nur der Besitzer kann seine eigenen Bilder hochladen |
| Dateigrößen-Limit | Maximal 5 MB pro Bild |
| Dateityp-Prüfung | Nur Bilder sind erlaubt (image/*) |
Fehlerbehebung
Section titled “Fehlerbehebung””Permission denied” Fehler
Section titled “”Permission denied” Fehler”Problem: Die App kann keine Daten lesen/schreiben.
Lösungen:
- Prüfe, ob die Security Rules veröffentlicht wurden
- Warte 1-2 Minuten, bis die Regeln aktiv sind
- Prüfe, ob du die Regeln richtig kopiert hast
Index-Fehler in der App
Section titled “Index-Fehler in der App”Problem: Die App zeigt “Index required” oder ähnliche Fehler.
Lösungen:
- Erstelle den fehlenden Index (die Fehlermeldung enthält oft einen Link)
- Warte, bis der Index-Status auf “Enabled” wechselt
- Prüfe, ob alle Felder korrekt eingetragen sind
Automatischer Modus schlägt fehl
Section titled “Automatischer Modus schlägt fehl”Problem: Der automatische Modus zeigt einen Fehler.
Lösungen:
- Prüfe, ob ein Service Account konfiguriert ist
- Wechsle zum manuellen Modus
- Prüfe deine Internetverbindung
Nächste Schritte
Section titled “Nächste Schritte”Firebase ist jetzt vollständig eingerichtet! Du kannst nun weitere Module aktivieren: