Zum Inhalt springen

Push-Benachrichtigungen

Tocco-Mate sendet echte Web-Push-Benachrichtigungen über die Web-Push-API — Mozilla Autopush, Google FCM, Apple Push und Windows Notification Service. Kein Firebase, kein Polling, kein Vendor-Lock.

EreignisInhalt
🆕 Neue NoteModulname + Note + Direktlink zum Modul-Detail
✏️ NotenänderungVorher → Nachher + Modulname
🚪 ZimmerwechselDatum, Zeit, alter → neuer Raum (auch Online ↔ Offline)

Notifications kommen auch wenn die App komplett geschlossen ist.

PlattformVoraussetzung
iOSPWA auf den Home-Bildschirm installiert (kein Safari-Tab)
AndroidPWA installiert oder Browser-Tab offen (Tab-Push funktioniert auch)
DesktopBrowser-Tab offen oder PWA installiert
Bravebrave://settings/privacy → „Google-Dienste für Push-Nachrichten verwenden” aktiviert
ServerHTTPS + gültige VAPID-Keys

Siehe Mobile-App (PWA) — auf iOS Pflicht, auf Android empfohlen.

Settings → „Push aktivieren” → Browser-Erlaubnis bestätigen.

„Test-Push senden” drücken → innerhalb 1–2 s sollte die Notification kommen.

Beim ersten Start werden die Keys auto-generiert in data/vapid.json:

{
"publicKey": "BO_...",
"privateKey": "..."
}

Du kannst sie auch manuell setzen über VAPID_PUBLIC_KEY und VAPID_PRIVATE_KEY in der .env.

VAPID_SUBJECT (default mailto:admin@example.com) ist die Kontakt-Adresse für den Push-Provider — bitte auf eine echte Adresse setzen, sonst sperren manche Provider deinen Server bei Problemen.

Push-Endpoints werden nur an folgende Whitelist gesendet:

  • *.googleapis.com (FCM)
  • updates.push.services.mozilla.com (Mozilla)
  • *.push.apple.com (Apple)
  • *.notify.windows.com (Windows)

Andere URLs werden geblockt — auch wenn sich ein Client mit gefälschtem Endpoint registriert.

Endpoints für PWA / Dashboard:

GET /api/push/vapid-key # VAPID Public Key
POST /api/push/subscribe # Subscription registrieren
DELETE /api/push/subscribe # Subscription entfernen
POST /api/push/test # Test-Push an alle Subscriptions

Subscriptions liegen in der SQLite-Tabelle push_subscriptions (endpoint + Krypto-Keys).

  1. HTTPS aktiv? Mobile-Push braucht HTTPS. Über LAN-IP funktioniert’s nicht (Browser-Sicherheitsregel)
  2. PWA wirklich installiert? Auf iOS Pflicht
  3. Erlaubnis im Browser? chrome://settings/content/notifications prüfen
  4. Subscription noch gültig? Test-Push aus den Settings probieren
  5. Server-Logs: Push-Provider-Antworten loggen Fehler-Codes
  • Erst PWA über Safari → „Zum Home-Bildschirm” installieren
  • Browser-Settings → Notifications für die Domain prüfen
  • Subscription wurde später ungültig → in Settings deaktivieren + neu aktivieren
  • brave://settings/privacy → „Google-Dienste für Push-Nachrichten verwenden” aktivieren