Optional (empfohlen)
Die App startet ohne Login. Nutzer sehen Inhalte als Gast und werden erst dann zum Login gebeten, wenn sie etwas tun möchten, das einen Account braucht.
Der Login-Modus ist die erste und wichtigste Entscheidung beim Auth-Setup. Er legt App-weit fest, wann sich Nutzer in deiner App anmelden müssen — und wirkt sich auf alle Module aus, die einen eingeloggten Nutzer brauchen (Shop-Checkout, Kommentare, Buchungen, eigenes Profil, Forum-Posts, …).
Optional (empfohlen)
Die App startet ohne Login. Nutzer sehen Inhalte als Gast und werden erst dann zum Login gebeten, wenn sie etwas tun möchten, das einen Account braucht.
Login beim Start
Jeder Nutzer muss sich direkt beim App-Start anmelden, bevor er die App überhaupt sieht. Splash → Login → App.
Im Modus „Optional” (intern: onDemand) verhält sich die App so:
| Situation | Verhalten |
|---|---|
| App-Start | Splash → Home. Kein Login-Screen. |
| Inhalt lesen (Feed, Shop, Kurse, Forum) | Funktioniert als Gast. |
| Aktion ausführen, die einen Account braucht | App zeigt den Login-Screen, danach springt sie zurück zur ursprünglichen Aktion. |
| Nutzer schließt den Login wieder | Nichts passiert. Nutzer kann weiter als Gast unterwegs sein. |
Beispiele für „braucht einen Account”:
Im Modus „Login beim Start” (intern: forceOnStart) verhält sich die App so:
| Situation | Verhalten |
|---|---|
| App-Start | Splash → Login-Screen. Home ist erst nach Login erreichbar. |
| Nicht eingeloggter Nutzer | Sieht gar nichts außer Login und Registrierung. |
| Nach erfolgreichem Login | Home wird angezeigt, normaler App-Betrieb beginnt. |
| Bedarfs-Logins in Modulen | Entfallen — der Nutzer ist immer eingeloggt. |
Wann sinnvoll?
Wenn du den Modus später ändern willst:
Zusätzlich zum globalen Modus können einzelne Module selbst entscheiden, ob sie Login einfordern. Beispiele:
| Modul | Setting | Default |
|---|---|---|
| Shop | loginRequiredForCheckout / enableGuestCheckout | Gast erlaubt |
| Coupons | loginRequiredForReferral | Aus |
| Forum | (immer Login-pflichtig für Posts) | Hart |
| Profile | (immer Login-pflichtig zum Bearbeiten) | Hart |
Logik im Zusammenspiel:
Hintergrund für Entwickler / fortgeschrittene Nutzer:
/login auf, sondern den zentralen Service AuthGateService.requireLogin(returnRoute, reasonKey).requireLogin den Login-Screen, optional mit einer Hinweis-Snackbar („Bitte melde dich an, um zu kommentieren”), und springt nach erfolgreichem Login zurück zur ursprünglichen Route.firebase_auth als Modul aktiv?” entscheiden, ob ein Nutzer eingeloggt ist — das wäre falsch. Das Auth-Modul aktiv zu haben heißt nur, dass Login möglich ist, nicht dass der Nutzer eingeloggt ist.Ja, im App Builder problemlos — Modul deaktivieren, reaktivieren, neuen Modus wählen. Mock-Daten bleiben erhalten.
Der Modus wird mit veröffentlicht. Deine Live-App verhält sich genau so wie im App Builder konfiguriert.
Nein. Der Modus gilt App-weit für iOS, Android und Web identisch.
Anonym-Login ergänzt den „Optional”-Modus elegant: Nutzer kann sich „leise” anonym anmelden, ohne Daten preiszugeben, und sein anonymes Konto später in ein echtes Konto umwandeln. Bei „Login beim Start” spielt Anonym kaum eine Rolle — wenn jemand sich ohnehin am Anfang anmelden soll, dann meist mit echtem Konto.