Push-Benachrichtigungen sind eine der effektivsten Möglichkeiten, mit Nutzern nach der App-Installation zu interagieren. Sie ermöglichen es, über eine neue Nachricht, einen Rabatt, eine Inhaltsaktualisierung zu informieren oder an einen verlassenen Warenkorb zu erinnern. Push-Benachrichtigungen (push notifications) funktionieren über Cloud-Dienste: Firebase Cloud Messaging (FCM) auf Android und Apple Push Notification Service (APNS) auf iOS. In diesem Artikel analysieren wir die Architektur von Benachrichtigungen, ihre Typen und den Einrichtungsprozess für beide Plattformen. Weitere Informationen finden Sie in der offiziellen FCM-Dokumentation.
Wichtige Punkte
Eine Push-Benachrichtigung ist eine Nachricht, die der Server ohne Anfrage der App an ein mobiles Gerät sendet. Die Nachricht durchläuft einen Cloud-Dienst (FCM oder APNS), der sie an das Gerät zustellt, selbst wenn die App geschlossen ist. Benachrichtigungen werden in zwei Typen unterteilt: Anzeigebenachrichtigungen (werden dem Nutzer angezeigt) und Datenbenachrichtigungen (übertragen Daten zur Hintergrundverarbeitung).
Die Architektur von Push-Benachrichtigungen umfasst drei Komponenten: (1) den App-Server — sendet eine Anfrage an FCM/APNS; (2) den Cloud-Dienst — leitet die Benachrichtigung weiter; (3) die Client-App — empfängt und verarbeitet die Benachrichtigung. Der Server muss den Device Token des Geräts kennen, um eine Benachrichtigung gezielt an dieses zu senden. Für Massenversand wird Topic Subscription verwendet — das Abonnieren von Geräten auf thematische Kanäle (Nachrichten, Angebote, Wetter).
Auf jedem Gerät werden Benachrichtigungen vom Betriebssystem verarbeitet: Android — über NotificationManager und NotificationChannel, iOS — über UNUserNotificationCenter. Der Nutzer kann das Verhalten von Benachrichtigungen für jeden Kanal konfigurieren: Ton, Banner, Anzeige auf dem Sperrbildschirm erlauben oder vollständig deaktivieren. Die richtige Kanalkonfiguration erhöht das Engagement und verringert die Abmelderaten.
Bei IT Sectr entwerfen wir das Push-Benachrichtigungssystem von Anfang an unter Berücksichtigung plattformspezifischer Besonderheiten. Wichtige Entscheidungen: Wahl zwischen FCM und direktem APNS, Payload-Format, Sendehäufigkeit und Abonnement-Mechanik. Dies hilft, Situationen zu vermeiden, in denen Benachrichtigungen nicht ankommen oder vom System blockiert werden.
Firebase Cloud Messaging (FCM) ist Googles plattformübergreifender Dienst für die Zustellung von Benachrichtigungen. FCM unterstützt Android, iOS, Web und Flutter. Auf iOS funktioniert FCM über APNS: FCM sendet eine Anfrage an APNS, das die Benachrichtigung an das Gerät zustellt. Vorteile von FCM: eine einzige API für beide Plattformen, integrierte Analysen, A/B-Tests, Themen und Zielgruppensegmente.
Apple Push Notification Service (APNS) ist der native Dienst von Apple. Er funktioniert nur auf Apple-Geräten (iOS, macOS, watchOS, tvOS). Er erfordert eine direkte Autorisierung über ein TLS-Zertifikat oder Token (JWT). APNS bietet minimale Zustelllatenz und direkte Integration mit iOS-Funktionen: PushKit, Notification Service Extension und kritische Warnmeldungen.
Die Wahl zwischen FCM und APNS hängt von der Projektarchitektur ab. Wenn die App nur für iOS ist — bietet APNS mehr Kontrolle. Wenn sie plattformübergreifend ist — ist FCM mit einer einzigen API bequemer. Viele Projekte verwenden FCM als primären Dienst und konfigurieren zusätzlich PushKit für VoIP auf iOS. Ein hybrider Ansatz ermöglicht es, das Beste aus beiden Systemen zu erhalten.
| Eigenschaft | FCM | APNS |
|---|---|---|
| Plattformen | Android, iOS, Web, Flutter | iOS, macOS, watchOS, tvOS |
| Autorisierung | Server Key (Firebase Console) | TLS-Zertifikat oder JWT-Token |
| Maximaler Payload | 4 KB (data), 2 KB (notification) | 4 KB |
| Themen | Integriert (Topic Messaging) | Nein (serverseitig implementiert) |
| Silent Push | Unterstützt | Unterstützt (content-available) |
| PushKit | Nein | Ja (VoIP, Live Activities) |
| Analytik | Firebase Analytics | Keine integrierte |
| Zustellung bei ausgeschaltetem Gerät | Eingeschränkt (abhängig vom Hersteller) | Ja, über PushKit |
Eine Rich Notification ist eine Benachrichtigung, die nicht nur Text, sondern auch Medieninhalte enthält: Bilder, Videos, Audio und Aktionsschaltflächen. Auf Android wird sie über NotificationCompat-Stile implementiert: BigPictureStyle (großes Bild), BigTextStyle (eingeklappter/erweiterter Text), InboxStyle (Nachrichtenliste), MediaStyle (Wiedergabesteuerung). Auf iOS wird Notification Content Extension verwendet — ein separater Target mit benutzerdefinierter UI für die erweiterte Benachrichtigung.
Silent Push (content-available auf iOS) ist eine Benachrichtigung, die ohne Anzeige für den Nutzer zugestellt wird. Sie dient der Hintergrunddatenaktualisierung: Inhaltsynchronisation, Vorabladen, Widget-Updates. Auf iOS erfordert Silent Push die Aktivierung von Background Modes → Remote notifications. Auf Android wird FirebaseMessagingService mit onMessageReceived zur Verarbeitung von Hintergrundbenachrichtigungen verwendet. Wichtig: Auf iOS hat Silent Push Frequenzbegrenzungen und garantiert keine Zustellung, wenn die App nicht im Vordergrund ist.
Eine Interactive Notification ermöglicht es dem Nutzer, eine Aktion auszuführen, ohne die App zu öffnen. Auf Android sind dies Schaltflächen (Action) in der Benachrichtigung: „Antworten", „Genehmigen", „Ablehnen". Aktionen werden über PendingIntent verarbeitet, das einen BroadcastReceiver oder Service startet. Auf iOS wird Notification Action über UNNotificationAction und UNNotificationCategory registriert. Schaltflächen können foreground (App öffnen), background (im Hintergrund ausführen) oder destructive (unumkehrbare Aktion — löschen, blockieren) sein.
Notification Content Extension (iOS) — ein benutzerdefinierter View-Controller zur Anzeige erweiterter Benachrichtigungsinhalte bei langem Drücken oder 3D Touch. Notification Service Extension (iOS) — Middleware zur Änderung des Benachrichtigungsinhalts vor der Anzeige: Entschlüsselung von E2E-Nachrichten, Laden von Bildern, Verschleierung vertraulicher Daten. Auf Android gibt es keine direkten Analogien — alle Änderungen werden in FirebaseMessagingService durchgeführt.
Für Android ist erforderlich: (1) Firebase SDK zum Projekt hinzufügen (google-services.json); (2) einen NotificationChannel (Android 8+) für jede Benachrichtigungskategorie erstellen; (3) FirebaseMessagingService implementieren, um Token und eingehende Nachrichten zu empfangen. Notification Channel ist obligatorisch — ohne ihn werden Benachrichtigungen auf Android 8+ nicht angezeigt. Kanäle haben eine Priorität (IMPORTANCE_HIGH — Ton + Popup, IMPORTANCE_LOW — ohne Ton) und können vom Nutzer in den Systemeinstellungen konfiguriert werden.
Für iOS ist erforderlich: (1) Push Notifications-Fähigkeit in Xcode aktivieren; (2) APNS-Schlüssel im Apple Developer Portal konfigurieren; (3) Autorisierung über UNUserNotificationCenter.requestAuthorization anfordern — dies ist ein Systemdialog, der einmal angezeigt wird. Die Antwort des Nutzers ist entscheidend: Wenn die Berechtigung nicht erteilt wird, werden Benachrichtigungen nicht zugestellt. Es wird empfohlen, dem Nutzer vor dem Anzeigen des Systemdialogs zu erklären, warum Benachrichtigungen benötigt werden (Pre-Permission Prompt).
Device Token (iOS) und Registration Token (Android) sind eindeutige Gerätekennungen für Push-Benachrichtigungen. Der Token wird beim ersten App-Start generiert und kann sich ändern: bei Neuinstallation, Datenlöschung oder Zurücksetzen der Datenschutzeinstellungen. Der Server muss die Token regelmäßig aktualisieren. Firebase bietet eine bequeme API zur Token-Verwaltung über onNewToken sowie ein Panel zum Testen des Benachrichtigungsversands (Firebase Console → Cloud Messaging).
Topic Subscription ist einer der effektivsten Mechanismen von FCM. Ein Gerät abonniert ein Thema (z. B. „news", „promo_users_ios"), und der Server sendet Benachrichtigungen nach Thema, ohne eine Liste von Tokens speichern zu müssen. Firebase Topics unterstützen bis zu einer Million Abonnenten pro Thema und bedingten Versand (Condition) über eine Ausdruckssprache: „'news' in topics && ('US' in topics || 'UK' in topics)".
Notification Payload ist die JSON-Struktur, die über FCM/APNS gesendet wird. Für FCM: getrennt notification (sichtbarer Teil — Titel, Text, Bild) und data (benutzerdefinierte Felder für die App). Für APNS: aps-Wörterbuch mit alert, badge, sound, category und content-available. Die richtige Payload-Struktur ist entscheidend: Wenn notification + data gleichzeitig eintreffen, kann die App im Hintergrund die data nicht erhalten. Es wird empfohlen, für Android nur data-Nachrichten zu verwenden und visuelle Felder separat über die FCM Console zu übergeben.
Häufig gestellte Fragen
FCM (Firebase Cloud Messaging) ist Googles Dienst für Android und plattformübergreifende Benachrichtigungen. APNS (Apple Push Notification Service) ist Apples Dienst nur für iOS/macOS. FCM kann Benachrichtigungen über APNS auf iOS zustellen und fungiert dabei als Proxy-Server.
Eine Rich Notification ist eine erweiterte Benachrichtigung mit Medieninhalten: Bilder, Videos, Audio, Aktionsschaltflächen. Auf iOS wird sie über Notification Content Extension implementiert; auf Android über BigPictureStyle und InboxStyle.
Device Token ist eine eindeutige Gerätekennung zum Senden von Push-Benachrichtigungen. Auf Android ist es der Registration Token von FCM; auf iOS der Device Token von APNS. Der Token kann sich ändern bei Neuinstallation der App oder Zurücksetzen der Einstellungen, daher muss er auf dem Server aktualisiert werden.
Silent Push (stille Benachrichtigung) ist eine Benachrichtigung ohne Anzeige für den Nutzer. Sie wird für Hintergrunddatenaktualisierungen verwendet: Inhaltsynchronisation, Widget-Updates, Vorabruf. Auf iOS ist die Aktivierung von Background Modes → Remote notifications erforderlich.
PushKit ist ein Apple-Framework für die Zustellung von hochprioritären Benachrichtigungen, das in VoIP-Apps (Anrufe, Messenger) verwendet wird. PushKit stellt die Benachrichtigung zu selbst wenn die App beendet ist, und garantiert den App-Start zur Verarbeitung.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.