Push-Benachrichtigungen vs. Live-Query-Abonnements: Was brauchen Sie?

Aktualisiert: September 2026

Eine Push-Benachrichtigung ist eine vom OS zugestellte Meldung, die geschlossene Apps erreicht; eine Live Query streamt Änderungen bei offener App. Sie als Rivalen darzustellen ist der klassische Fehler – sie decken disjunkte App-Zustände ab, und die eigentliche Entwurfsfrage lautet nicht “welche von beiden”, sondern “wo ist der Nutzer gerade?”. Die meisten Apps, die sich wirklich nach Echtzeit anfühlen, betreiben beides und leiten anhand dieser Antwort weiter.

Das Wichtigste in Kürze

FrageAntwort
Push-BenachrichtigungenZustellung über das OS-Gateway (APNs, FCM) – erreicht geschlossene Apps, ~4 KB undurchsichtiger Payload, Best Effort
Live QueriesWebSocket-Abonnement – vollständige, berechtigungsgeprüfte Objekte, Echtzeit, App muss offen sein
Die RivalitätGibt es nicht – sie bedienen disjunkte App-Zustände und ergänzen sich, statt zu konkurrieren
Die WeiterleitungsregelApp offen → Live Query · App geschlossen → Push · Tipp auf den Push → öffnen, neu abonnieren, aufholen
Der FehlerfallPush als Datenkanal nutzen oder erwarten, dass Sockets den Prozess überleben

Beide Kanäle, im Code

Das Muster, auf das nahezu jede App für Messaging, Bestellungen und Warnungen zuläuft:

// JavaScript — Back4app JS SDK: one channel per app state
// While the app is OPEN — the live query delivers the data itself
const messages = new Parse.Query('Message');
messages.equalTo('conversation', conversationId);
const sub = await messages.subscribe();
sub.on('create', (m) => appendBubble(m));   // full object, real time

// While it is CLOSED — push owns delivery: register this device
const installation = await Parse.Installation.currentInstallation();
installation.set('channels', [`user-${currentUser.id}`]);
await installation.save();
// A Cloud Code afterSave trigger sends the push to this channel —
// the OS shows the alert; the tap opens the app, which re-subscribes.

Beachten Sie, was jede Hälfte erledigt: Das Abonnement liefert Daten – ganze Objekte, typisierte Ereignisse, in Echtzeit. Die Installation registriert sich für Aufmerksamkeit – das Recht, den Nutzer später zu unterbrechen, über eine Pipeline, die Ihre App nicht in der Hand hat.

Zwei Zustellwege, zwei Eigentümer

Unterschiedlicher könnten die Wege kaum sein, und jede Eigenschaft in der Vergleichstabelle folgt daraus, wem die letzte Meile gehört.

Eine Push-Benachrichtigung verlässt Ihr Backend als Anfrage an ein vom Betriebssystem betriebenes Gateway – die Push-Gateways von iOS und Android (APNs, FCM) oder im Web ein Push-Dienst des Browsers, der RFC 8030 spricht. Dem Gateway gehört die Zustellung: Es hält Nachrichten für Geräte im Offline-Zustand vor, fasst sie zusammen und drosselt unter Akkudruck, weckt Ihre App oder zeigt das Banner an. Diese geliehene Macht ist der ganze Sinn – nur das OS erreicht einen Prozess, der nicht läuft – und zugleich die ganze Einschränkung: Payloads auf rund 4 KB gedeckelt, Zustellung nach Best Effort, stille Hintergrundweckrufe tageweise rationiert und der Payload außerhalb des Berechtigungsmodells Ihres Backends.

Eine Live Query verlässt Ihre Vertrauensgrenze nie: Die App hält einen WebSocket zum Abonnement-Server des Backends, der jeden Datenbankschreibvorgang gegen die abonnierte Query prüft und typisierte Ereignisse pusht – create, update, enter, leave, delete – mit pro Abonnent durchgesetzten ACLs. Vollständige Objekte, Latenz in Echtzeit, keine nennenswerte Obergrenze für den Payload. Die Abhängigkeit im Gegenzug ist brutal: Das Abonnement ist Zustand innerhalb Ihres Prozesses, und wenn das OS die App suspendiert – was mobile Plattformen aggressiv tun –, sind Socket und Kanal weg.

Echtzeit-Zustellung nach App-Zustand weiterleitenEin Datenbankschreibvorgang löst Backend-Logik aus. Ist die App des Empfängers offen, pusht eine Live Query das vollständige Objekt über einen WebSocket. Ist die App geschlossen, sendet das Backend einen kleinen Payload über das Push-Gateway des Betriebssystems, das eine Benachrichtigung anzeigt; ein Tipp darauf öffnet die App, die neu abonniert und per Abfrage aufholt.

App offen

App geschlossen

Tipp

Datenbankschreibvorgang
(Nachricht, Bestellung, Warnung)

Backend-Trigger
(afterSave)

Push per Live Query
vollständiges Objekt · WebSocket

Push-Gateway des OS
(APNs, FCM)

Benachrichtigungsbanner
~4 KB Payload

App öffnet sich →
neu abonnieren + Aufhol-Abfrage

Bildschirm aktualisiert sich an Ort und Stelle

Ein Datenbankschreibvorgang löst Backend-Logik aus. Ist die App des Empfängers offen, pusht eine Live Query das vollständige Objekt über einen WebSocket. Ist die App geschlossen, sendet das Backend einen kleinen Payload über das Push-Gateway des Betriebssystems, das eine Benachrichtigung anzeigt; ein Tipp darauf öffnet die App, die neu abonniert und per Abfrage aufholt.

Push-Benachrichtigungen vs. Live Queries

KriteriumPush-BenachrichtigungenLive-Query-Abonnements
Erreicht eine geschlossene AppJa – die entscheidende FähigkeitNein – das Abonnement stirbt mit dem Prozess
Payload~4 KB, undurchsichtig für Ihre ACLsVollständige Objekte, pro Abonnent berechtigungsgeprüft
ZustellgarantieBest Effort; zusammengefasst, gedrosselt, verwerfbarZuverlässig, solange verbunden; Aufholen nach Lücken nötig
LatenzSekundenbereich, gatewayabhängigEchtzeit (~RTT)
Eigentümer des TransportsDas OS und sein GatewayDie WebSocket-Flotte Ihres Backends
Zustimmung des NutzersSystemabfrage; vom Nutzer widerrufbarKeine nötig – es sind nur die Daten Ihrer App
Kosten bei MissbrauchBenachrichtigungsmüdigkeit, DeinstallationenLast auf Akku und Sockets bei zu vielen Abonnements
Gebaut fürAufmerksamkeit und RückgewinnungDaten und Zustand in der App

Die Zeilen ergänzen sich sauber, weil die beiden Kanäle verschiedene Fragen beantworten: Push beantwortet “Wie erreiche ich den Nutzer?”, Live Queries beantworten “Wie bleibt der Bildschirm wahrhaftig?” – weshalb der Vergleich auf Transportebene zwischen SSE, WebSockets und Polling vollständig innerhalb der zweiten Frage liegt.

Die Übergabe: wo Apps tatsächlich kaputtgehen

Die Fehler sitzen an der Naht zwischen den Kanälen. Ein Nutzer tippt auf einen Push zu einer Nachricht, die auch per Live Query zugestellt wurde, bevor die App suspendiert wurde – deduplizieren Sie nach Objekt-ID, nicht nach Kanal. Ein Push trifft zu Daten ein, auf die der Nutzer keinen Zugriff mehr hat – holen Sie sie beim Öffnen über die normale API und lassen Sie die ACLs entscheiden, vertrauen Sie niemals dem Payload. Die App war drei Tage lang geschlossen – die wieder geöffnete App kann eine Lücke nicht aus Pushes wiedergeben (Benachrichtigungen sind kein Journal), also lautet die Übergabe immer neu abonnieren, dann die Basisabfrage erneut ausführen, um die Wahrheit neu aufzubauen, während die Registrierung des Push-Tokens im Hintergrund aktuell gehalten wird. Entwerfen Sie die Naht einmal, und beide Kanäle werden langweilig – genau das ist das Ziel.

Typische Anwendungsfälle

  • Chat und Messaging – die Live Query stellt die geöffnete Unterhaltung dar; der Push trägt “neue Nachricht” durch den geschlossenen Zustand. Die Zwei-Kanal-App schlechthin.
  • Bestell- und Lieferverfolgung – der geöffnete Verfolgungsbildschirm abonniert; der Wechsel auf “zugestellt” bei geschlossener App kommt als Push.
  • Betriebliche Alarmierung – Konsolen der Rufbereitschaft abonnieren für die Wandanzeige; der Weg zum Pager ist Push, weil um 3 Uhr nachts niemand die App offen hält.
  • Auktionen und Drops – Preisbewegungen live in der App; überboten zu werden, während man weg ist, ist ein Push mit Deep Link zurück in den Live-Bildschirm.
  • Soziale Interaktion – Likes und Antworten landen als Push zur Rückgewinnung; der geöffnete Feed geht per Abonnement live.

Welchen Kanal sollten Sie verwenden? Entscheidungsmatrix

Ihre SituationGreifen Sie zu
Der Bildschirm ist offen und muss aktuell bleibenLive Query
Das Ereignis tritt bei geschlossener App ein und der Nutzer sollte es wissenPush-Benachrichtigung
Der Payload ist sensibel oder berechtigungspflichtigLive Query – oder nur Kennungen per Push, beim Öffnen nachladen
Sie brauchen garantierte, geordnete Zustellung von DatenKeiner allein – Aufholen per Abfrage beim Öffnen, Kanäle als Beschleuniger
Ein Badge oder einen Zähler in der App in Echtzeit aktualisierenLive Query
Nutzer zurückgewinnen, die die App seit Tagen nicht geöffnet habenPush – der einzige Kanal, der das kann
Kiosk oder Wandanzeige, die nie schläftNur Live Query; Push bringt nichts hinzu

Grenzen und Trade-offs

  • Push ist kein Datenkanal. Payload-Grenzen, undurchsichtiges Routing außerhalb Ihrer ACLs und das Zusammenfassen machen ihn strukturell ungeeignet, Zustand zu tragen – senden Sie Verweise, holen Sie die Wahrheit beim Öffnen.
  • Push-Zustellung ist eine Wahrscheinlichkeit, kein Versprechen. Akku-Optimierer, entzogene Berechtigungen und Drosselung durch das Gateway verwerfen Nachrichten allesamt stillschweigend; alles, was nicht verloren gehen darf, braucht einen Abgleichspfad per Abfrage.
  • Live Queries enden an der Prozessgrenze. Kein Socket überlebt die Suspendierung; ein Abonnement für einen dauerhaft aktiven Kanal zu halten ist die falsche Annahme hinter den meisten “uns sind Ereignisse entgangen”-Fehlern.
  • Beide Kanäle belasten den Client. Zu breite Abonnements verbrennen Akku und serverseitigen Abgleich; zu eifriger Push verbrennt Wohlwollen – die Deinstallation ist das Rate Limiting des Nutzers.
  • Die Naht liegt in Ihrer Verantwortung. Deduplizierung, Aufhol-Abfragen und die Auffrischung der Token sind Anwendungslogik; keiner der beiden Kanäle liefert sie gratis mit.

Push und Live Queries mit Back4app

Back4app ist eine Open-Source-Plattform für Backend as a Service (BaaS), die eine verwaltete Datenbank, automatisch generierte REST- und GraphQL-APIs, Authentifizierung, Dateispeicher und Serverless-Funktionen mit Cloud Code kombiniert. Beide Kanäle sind eingebaut und teilen sich einen Schreibpfad: Ein Cloud-Code-Trigger afterSave auf demselben Datenbankschreibvorgang kann den Push senden – über die Gateway-Anbindungen der Plattform, mit Adressierung nach Gerät und Kanal –, während Live Query das vollständige Objekt automatisch an jeden abonnierten, berechtigungsgeprüften Client fächert. Das Weiterleitungsdiagramm oben schrumpft auf einen Trigger und einen Abonnementaufruf, und die Logik an der Naht – Aufhol-Abfragen, Token-Registrierung über die Installation-Klasse – läuft durch dieselben SDKs, die die Code-Tabs zeigen.

Häufige Fragen

Was ist der Unterschied zwischen Push-Benachrichtigungen und Live Queries?

Der Zustellweg und der App-Zustand, den sie bedienen. Eine Push-Benachrichtigung läuft über das Push-Gateway des Betriebssystems und erreicht das Gerät auch bei geschlossener App – trägt aber einen kleinen, undurchsichtigen Payload und gibt nur Best-Effort-Garantien. Eine Live Query ist ein WebSocket-Abonnement, das Ihre laufende App offen hält: vollständige Objekte, in Echtzeit, mit geprüften Berechtigungen – und tot in dem Moment, in dem die App es ist.

Funktionieren Live Queries bei geschlossener App?

Nein, und keine Findigkeit auf der Client-Seite ändert daran etwas. Eine Live Query ist Zustand innerhalb Ihres laufenden Prozesses – ein WebSocket, den die App offen hält. Suspendiert oder beendet das OS die App, stirbt der Socket mit ihr, und mobile Plattformen suspendieren Apps im Hintergrund aggressiv, um Akku zu sparen. Eine geschlossene App zu erreichen ist genau die Aufgabe, die sich das OS für sein eigenes Push-Gateway vorbehält.

Sollte eine Chat-App Push-Benachrichtigungen oder Live Queries verwenden?

Beides, aufgeteilt nach App-Zustand. Die geöffnete Unterhaltung abonniert eine Live Query – Nachrichten erscheinen sofort mit vollständigen Daten, samt Tippanzeige und Lesebestätigung. Die geschlossene App verlässt sich auf Push, um den Empfänger zu benachrichtigen, mit gerade genug Payload für das Banner. Der Tipp öffnet die App, die neu abonniert und die Basisabfrage erneut ausführt, um aufzuholen. Jeder verbreitete Messenger arbeitet so.

Ist die Zustellung von Push-Benachrichtigungen garantiert?

Nein – die Zustellung ist von der Konstruktion her Best Effort. Die Gateways des Betriebssystems fassen zusammen, drosseln und verwerfen Nachrichten unter Akkudruck, Nutzer entziehen Berechtigungen vollständig, und Geräte sind zeitweise nicht erreichbar. Stille Hintergrund-Pushes werden noch härter gedrosselt als sichtbare. Behandeln Sie Push als Tippen auf die Schulter, niemals als Vertrag über Datentransport; die App muss ihren Zustand nach dem Öffnen per Abfrage abgleichen.

Wie groß darf der Payload einer Push-Benachrichtigung sein?

Kilobyte, keine Daten. Die Gateways des Betriebssystems begrenzen Payloads auf rund 4 KB, und der Payload ist für das Berechtigungsmodell Ihres Backends undurchsichtig – was immer Sie hineinlegen, liegt außerhalb Ihrer ACLs in der Benachrichtigungs-Pipeline. Das robuste Muster sendet nur Kennungen und Anzeigetexte und lässt die geöffnete App die eigentlichen Objekte über die normale, berechtigungsgeprüfte API holen.

Was ist eine stille Push-Benachrichtigung?

Ein Push ohne sichtbare Meldung, der das OS bittet, Ihre App kurz im Hintergrund zu wecken – typischerweise, um Daten vorzuladen, damit das nächste Öffnen sofort wirkt. Es ist die am strengsten rationierte Ressource im Push-System: Das OS vergibt ein Weckbudget pro App und Tag und ignoriert den Überschuss. Stiller Push taugt daher als Optimierungsschicht, nie als verlässlicher Kanal für Synchronisierung.

Brauche ich Push-Benachrichtigungen und Live Queries zugleich?

Wenn Nutzern Ereignisse wichtig sind, die bei geschlossener App eintreten – Nachrichten, Bestellungen, Warnungen –, dann ja, fast unvermeidlich. Die beiden Kanäle decken disjunkte App-Zustände ab: Live Queries gehört die Erfahrung bei offener App, Push gehört die Rückgewinnung aus dem geschlossenen Zustand. Backends, die beides mitbringen, lassen einen einzigen Datenbankschreibvorgang in jeden Kanal fächern – beides zu brauchen heißt dann nicht mehr, beides zu bauen.

Verwandte Begriffe

Vergleichen mit

Weiterführende Quellen

Bereit, Ihr Backend zu bauen?

Starten Sie Ihr Projekt auf Back4app in wenigen Minuten — Datenbank, Authentifizierung, APIs und Cloud Code inklusive. Keine Kreditkarte erforderlich.

Geschrieben und geprüft von Back4app Engineering, Back4app Engineering · Veröffentlicht am 2026-09-29