How to show messages without folding
In mobilen App-Push-Szenarien wirkt sich das Problem der Nachrichtenfaltung (automatisches Zusammenfassen mehrerer Benachrichtigungen) direkt auf die Nutzer:innen-Erfahrung und die Effizienz der Nachrichtenübermittlung aus. Dieser Artikel erklärt am Beispiel des AppPush-Service im Detail, wie sich eine ungefaltete Anzeige von Nachrichten sowohl mit „Notification“- als auch mit „Custom Message“-Typen realisieren lässt.

1. Vergleich der Nachrichtentypen und Anzeige-Regeln
„Notification“-Nachrichten
- Systemstandard-Verhalten:
| App-Status | Anzeige-Regeln |
|---|---|
| Im Vordergrund | Faltung kann über group_id gesteuert werden |
| Im Hintergrund | Vom Betriebssystem verwaltet; Anzeige in der Benachrichtigungsleiste mit eingeschränkten Anpassungsmöglichkeiten (z. B. Faltung, Mengenbegrenzung) |
- Einsatzgebiet: Standard-Push-Nachrichten, die Nutzer:innen über die System-Benachrichtigungsleiste erreichen sollen.
„Custom Messages“
Wesentlicher Vorteil:
Unabhängig davon, ob die App im Vordergrund, Hintergrund oder bereits aus dem Speicher entfernt wurde, kann die client-seitige Logik die Anzeige der Nachricht vollständig steuern (z. B. Position des Pop-ups, Faltungslogik).Einsatzgebiet:
Hochpriorisierte Nachrichten mit individuellem Interaktionsbedarf (z. B. Bestellstatus-Updates, Instant Messaging).
2. Zwei Lösungen zur Vermeidung von Nachrichtenfaltung
Lösung 1: Verwendung von „Notification“-Nachrichten
(FCM erfordert, dass die App im Vordergrund ist; EngageLab funktioniert unabhängig vom App-Status)
Prinzip
Verwendung des Feldes group_id zur Steuerung der Nachrichten-Gruppierung:
- Um Faltung zu verhindern: Jeder Nachricht eine eindeutige
group_idzuweisen.
Umsetzungsschritte
Unterstützt ab Android SDK Version V5.0.1 und höher
Beispiel-Push-API-Payload:
{
"notification": {
"android": {
"group_id": "UNIQUE_GROUP_123" // Eindeutiger Wert verhindert Faltung
}
}
}
Kompatibilitätshinweise
- Unterstützt nur FCM- und EngageLab-Push-Kanäle.
- Nachrichten können im Hintergrund trotzdem von Systembeschränkungen betroffen sein.
Lösung 2: Verwendung von „Custom Messages“ (Szenario-übergreifend)
Prinzip
Der Client ruft aktiv die showNotification-API auf, um Nachrichten darzustellen und Systembeschränkungen zu umgehen.
Umsetzungsschritte
1. Custom Message senden
{
"message": {
"msg_content": "Ihre Bestellung wurde versandt",
"content_type": "text",
"extras": {
"type": "priority_alert",
"style": "popup_bottom" // Individueller Anzeigestil
}
}
}
2. Client verarbeitet Nachricht (Android-Beispiel)
public class UserReceiver extends MTCommonReceiver {
@Override
public void onCustomMessage(Context context, CustomMessage customMessage) {
ExampleLogger.i(TAG, "onCustomMessage:" + customMessage.toString());
showNotification(context, customMessage); // Anzeige auslösen
}
}
3. Individuelle Anzeigelogik (Faltung verhindern)
public void showNotification(Context context, CustomMessage customMessage) {
NotificationMessage notificationMessage = new NotificationMessage()
.setMessageId(customMessage.getMessageId())
.setNotificationId("Eigene ID; jede Benachrichtigung sollte eindeutig sein")
.setTitle(customMessage.getTitle())
.setContent(customMessage.getContent())
.setgroup_id(customMessage.getMessageId()); // Schlüsselfeld zur Verhinderung der Faltung
MTPushPrivatesApi.showNotification(context, notificationMessage);
}
Funktionsvergleich
| Fähigkeit | „Notification“-Nachricht | „Custom Message“ |
|---|---|---|
| App-Status-Support | FCM: Nur im Vordergrund; EngageLab: alle Zustände | Alle Szenarien (Vorder-/Hintergrund) |
| UI-Flexibilität | Eingeschränkt (systemabhängig) | Vollständig anpassbar |
| Kanalabhängigkeit | Benötigt bestimmte Kanäle (FCM, EngageLab) | Keine Einschränkungen |
3. Hinweise
Kanal-Kompatibilität
- Die
group_id-Funktion wird derzeit nur von FCM- und EngageLab-Kanälen unterstützt.
- Die
Performance-Optimierung
- Beim Versand von hochfrequenten Nachrichten mit jeweils einzigartiger
group_idsollte der Cache-Druck in der Benachrichtigungsleiste überwacht werden (empfohlene Obergrenze: ≤30 Nachrichten pro Gerät und Stunde).
- Beim Versand von hochfrequenten Nachrichten mit jeweils einzigartiger
4. Zusammenfassung
- Leichte Anforderungen: Bevorzugt die Steuerung der Faltung per
group_idin „Notification“-Nachrichten – geringer Entwicklungsaufwand. - Hohe Individualisierbarkeit: „Custom Message“ wählen – vollständige Kontrolle über das Anzeigeverhalten durch Client-Logik.
- Hybride Strategie: Für wichtige Nachrichten (z. B. erfolgreiche Zahlung) „Custom Message“ nutzen, Standard-Nachrichten per
group_idverwalten.
Mit der richtigen Strategie können Sie die Sichtbarkeit Ihrer Nachrichten und das Engagement Ihrer Nutzer:innen deutlich steigern.

