Messaging: Push-Benachrichtigungen für eingehende Nachrichten (inkl. Ton + Deep-Link in Chat) #104

Closed
opened 2026-05-17 21:36:19 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-17 21:36:19 +00:00 (Migrated from github.com)

## Anforderung

Push-Benachrichtigungen für eingehende Nachrichten – ähnlich wie WhatsApp.

Verhalten

  • Wenn eine neue Nachricht eingeht (App im Hintergrund oder geschlossen), wird eine Android-Benachrichtigung angezeigt.
  • Gleichzeitig wird ein Benachrichtigungston abgespielt.
  • Der Benachrichtigungstext lautet z. B.: „Bob hat etwas geschrieben" (kein Nachrichteninhalt aus Datenschutzgründen).
  • Tippt der User auf die Benachrichtigung, öffnet die App direkt den entsprechenden Chat und scrollt zu den neuen Nachrichten.

Technische Hinweise

  • Android Notification Channel anlegen (erforderlich ab API 26).
  • App muss auf eingehende Nachrichten reagieren, auch wenn sie im Hintergrund läuft (WebSocket Keep-alive oder Polling-Mechanismus prüfen).
  • Deep-Link / Intent aus der Benachrichtigung heraus in den korrekten Chat navigieren.
  • Benachrichtigungen bündeln, falls mehrere Nachrichten von verschiedenen Usern gleichzeitig eingehen (Grouped Notifications).
## Anforderung Push-Benachrichtigungen für eingehende Nachrichten – ähnlich wie WhatsApp. ## Verhalten - Wenn eine neue Nachricht eingeht (App im Hintergrund oder geschlossen), wird eine **Android-Benachrichtigung** angezeigt. - Gleichzeitig wird ein **Benachrichtigungston** abgespielt. - Der Benachrichtigungstext lautet z. B.: „Bob hat etwas geschrieben" (kein Nachrichteninhalt aus Datenschutzgründen). - Tippt der User auf die Benachrichtigung, öffnet die App **direkt den entsprechenden Chat** und scrollt zu den neuen Nachrichten. ## Technische Hinweise - Android Notification Channel anlegen (erforderlich ab API 26). - App muss auf eingehende Nachrichten reagieren, auch wenn sie im Hintergrund läuft (WebSocket Keep-alive oder Polling-Mechanismus prüfen). - Deep-Link / Intent aus der Benachrichtigung heraus in den korrekten Chat navigieren. - Benachrichtigungen bündeln, falls mehrere Nachrichten von verschiedenen Usern gleichzeitig eingehen (Grouped Notifications).
jreinemann-euris commented 2026-05-18 07:39:52 +00:00 (Migrated from github.com)

Abgeschlossen (2026-05-18)

Zyklen: 1
Tests: 322 Tests, 0 Fehler (app-Modul)

Implementierte Artefakte

  • NotificationHelper: Notification Channel, Benachrichtigungsanzeige mit Ton, Gruppierung, Deep-Link PendingIntent
  • Active-Chat-Suppression: Keine Benachrichtigung wenn der Chat bereits geöffnet ist
  • Deep-Link Navigation: Tipp auf Notification öffnet den korrekten Chat
  • POST_NOTIFICATIONS Permission: AndroidManifest aktualisiert
  • Notification Icon: Eigenes monochrome Drawable (ic_notification_message)
  • Unit Tests: Suppression-Logik verifiziert

Technische Details

  • Notification Channel \ollwerk_messages\ mit IMPORTANCE_HIGH + System-Ton
  • Datenschutz: Nur Absendername in Notification, kein Nachrichteninhalt
  • Thread-safe via @Volatile für Active-Chat-Tracking
  • Intent-Extras für Deep-Link (kein Firebase, rein lokal via WebSocket)
## Abgeschlossen (2026-05-18) **Zyklen:** 1 **Tests:** ✅ 322 Tests, 0 Fehler (app-Modul) ### Implementierte Artefakte - ✅ NotificationHelper: Notification Channel, Benachrichtigungsanzeige mit Ton, Gruppierung, Deep-Link PendingIntent - ✅ Active-Chat-Suppression: Keine Benachrichtigung wenn der Chat bereits geöffnet ist - ✅ Deep-Link Navigation: Tipp auf Notification öffnet den korrekten Chat - ✅ POST_NOTIFICATIONS Permission: AndroidManifest aktualisiert - ✅ Notification Icon: Eigenes monochrome Drawable (ic_notification_message) - ✅ Unit Tests: Suppression-Logik verifiziert ### Technische Details - Notification Channel \ollwerk_messages\ mit IMPORTANCE_HIGH + System-Ton - Datenschutz: Nur Absendername in Notification, kein Nachrichteninhalt - Thread-safe via @Volatile für Active-Chat-Tracking - Intent-Extras für Deep-Link (kein Firebase, rein lokal via WebSocket)
Sign in to join this conversation.
No description provided.