Lokale Benachrichtigungen in der mobilen Entwicklung: Wesen, Typen und Funktionsweise

Autor: IT Sectr Veröffentlicht: 2026-03-19 Lesezeit: 8 Min.

Eine lokale Benachrichtigung ist eine Nachricht, die die App ohne Beteiligung eines entfernten Servers an den Benutzer sendet. Alle Daten werden direkt auf dem Gerät des Empfängers verarbeitet und angezeigt. Dieser Mechanismus eignet sich für Erinnerungen, Timer und Wecker, wenn die App im Hintergrund ist oder geschlossen wurde. Laut Apple Developer Documentation bietet UNUserNotificationCenter eine zentrale Verwaltung lokaler Benachrichtigungen auf iOS.

Wichtige Punkte

  • Lokale Benachrichtigung — eine Nachricht, die vom Gerät ohne Serverbeteiligung geplant und zugestellt wird
  • Plattformen — Android verwendet NotificationManager, iOS verwendet UNUserNotificationCenter
  • Planung — Benachrichtigungen können nach Zeit, Standort oder Kalender ausgelöst werden
  • Einschränkungen — Lokale Benachrichtigungen funktionieren nicht geräteübergreifend und erfordern separate Synchronisationslogik
  • UX — korrekt konfigurierte Benachrichtigungen steigern das Engagement und bringen den Benutzer zurück zur App

Was ist eine lokale Benachrichtigung?

Eine lokale Benachrichtigung ist eine Trigger-Nachricht, die vom Betriebssystem auf demselben Gerät erzeugt und angezeigt wird, auf dem die App installiert ist. Im Gegensatz zu Push-Benachrichtigungen durchlaufen lokale Benachrichtigungen keinen externen Server — die gesamte Planungslogik läuft auf dem Client.

Solche Benachrichtigungen funktionieren unabhängig vom Zustand der App: aktiv, minimiert oder vollständig geschlossen. Das Betriebssystem übernimmt die Zustellung zum geplanten Zeitpunkt, während der Entwickler nur den Inhalt und den Auslöser angibt.

Das System garantiert die Zustellung lokaler Benachrichtigungen auch ohne Netzwerkzugriff. Dies ist ein entscheidender Vorteil gegenüber Push-Benachrichtigungen, die eine stabile Internetverbindung und einen funktionierenden Server erfordern.

Hauptkomponenten einer Anfrage

Jede lokale Benachrichtigung besteht aus drei Teilen: Inhalt (Titel, Text, Ton), Auslöser (Zeit- oder Ortsbedingung) und Anfragekennung. Die Kennung ermöglicht das Abbrechen oder Aktualisieren der Benachrichtigung vor der Zustellung.

Ein Entwickler kann bis zu 64 lokale Benachrichtigungen pro App auf iOS und eine unbegrenzte Anzahl auf Android planen. Dieser Unterschied ist auf architektonische Einschränkungen der Betriebssysteme zurückzuführen.

Wie funktionieren lokale Benachrichtigungen auf iOS und Android?

Beide Plattformen bieten eigene APIs für die Arbeit mit lokalen Benachrichtigungen. Auf iOS ist die zentrale Komponente UNUserNotificationCenter, auf Android — NotificationManager. Trotz unterschiedlicher Schnittstellen ist die Logik dieselbe: Die App erstellt eine Anfrage, registriert sie im System und das OS stellt die Benachrichtigung zum geplanten Zeitpunkt zu.

iOS verwendet UNCalendarNotificationTrigger für Kalenderereignisse, UNTimeIntervalNotificationTrigger für Intervalle und UNLocationNotificationTrigger für den Standort. Android bietet AlarmManager, WorkManager und präzise Planung über setExact.

Seit Android 12 erfordert SCHEDULE_EXACT_ALARM eine spezielle Berechtigung vom Benutzer. Auf iOS wird die Berechtigung einmal über UNUserNotificationCenter.requestAuthorization angefordert, und der Benutzer wählt die Zugriffsstufe: Banner, Töne, Badges.

Arten lokaler Benachrichtigungen

Lokale Benachrichtigungen werden nach Auslösertyp klassifiziert, nicht nach Inhalt. Jeder Typ bestimmt, wann und unter welchen Bedingungen die Benachrichtigung dem Benutzer angezeigt wird.

Auslöservergleich nach Plattform

Auf iOS und Android werden die Auslösertypen unterschiedlich implementiert, obwohl die logische Klassifizierung gleich ist. iOS verwendet UNCalendarNotificationTrigger für Daten, UNTimeIntervalNotificationTrigger für Intervalle und UNLocationNotificationTrigger für den Standort. Android bietet AlarmManager mit setExact und setRepeating sowie WorkManager für verzögerte Aufgaben.

AuslösertypBeschreibungBeispiel
ZeitintervallBenachrichtigung N Sekunden nach StartCountdown-Timer
KalenderdatumBenachrichtigung zu einer bestimmten Uhrzeit und an einem bestimmten DatumTerminerinnerung
StandortBenachrichtigung beim Betreten/Verlassen einer RegionErinnerung im Geschäft
SofortSofortige Zustellung bei API-AufrufDownload-Benachrichtigung

iOS unterstützt auch UNNotificationAttachment — das Anhängen eines Bildes, Audios oder Videos an den Benachrichtigungstext. Android unterstützt benutzerdefinierte Vorlagen mit Schaltflächen und großen Bildern über NotificationCompat.Style.

Die Wahl des Auslösers hängt vom Szenario ab: Kalendererinnerungen funktionieren am besten mit Kalenderauslösern, Standorterinnerungen mit Standort. Intervallauslöser eignen sich für wiederkehrende Ereignisse mit festem Zeitraum.

Verhalten von Auslösern im Hintergrund

Auf iOS werden lokale Benachrichtigungen vom System auch bei geschlossener App zugestellt — UNUserNotificationCenter verwaltet die Warteschlange eigenständig. Auf Android hängt die Zustellung vom gewählten Mechanismus ab: AlarmManager wird auch bei ausgeschaltetem Bildschirm ausgelöst, während WorkManager die Energieeinsparung berücksichtigt.

Anwendungsfälle in mobilen Apps

Lokale Benachrichtigungen lösen Aufgaben, bei denen die externe Infrastruktur überflüssig oder nicht verfügbar ist. Hauptszenarien: Erinnerungen, Timer, Onboarding-Tipps und verzögerte Aktionen.

  • Erinnerungen — eine Kalender-App erstellt eine lokale Benachrichtigung für das angegebene Ereignisdatum
  • Onboarding-Tipps — einen Tag nach der Installation zeigt die App einen Bildschirmtipp an
  • Timer — ein Küchentimer wird nach einer festgelegten Zeit auch bei geschlossener App ausgelöst
  • Fortschritt von Vorgängen — Benachrichtigung über abgeschlossenen Download oder Datenexport

Untersuchungen von Localytics zeigen, dass Apps, die lokale Erinnerungen verwenden, in der ersten Woche nach der Installation 35% mehr Benutzer binden. Dies macht lokale Benachrichtigungen zu einem leistungsstarken Onboarding-Tool.

Es ist wichtig, die Häufigkeit nicht zu missbrauchen — das System gruppiert Benachrichtigungen derselben App und der Benutzer kann alle lokalen Benachrichtigungen deaktivieren, wenn sie lästig werden. Die optimale Häufigkeit beträgt nicht mehr als 2–3 Benachrichtigungen pro Tag für nicht kritische Ereignisse.

Planungsbeispiel auf Android

Um eine lokale Benachrichtigung auf Android zu planen, verwenden Sie NotificationManager zusammen mit AlarmManager. Auf Android 8+ müssen Sie zuerst einen Benachrichtigungskanal erstellen, sonst wird die Benachrichtigung nicht angezeigt.

kotlin
val channelId = "reminder_channel"
val notificationId = "task_reminder_42"

val channel = NotificationChannel(
    channelId,
    "Erinnerungen",
    NotificationManager.IMPORTANCE_HIGH
).apply {
    description = "Kanal für Aufgabenerinnerungen"
}

val manager = getSystemService(NotificationManager::class.java)
manager.createNotificationChannel(channel)

val intent = Intent(this, ReminderReceiver::class.java).apply {
    putExtra("notification_id", notificationId)
    putExtra("channel_id", channelId)
}

val pendingIntent = PendingIntent.getBroadcast(
    this, notificationId.hashCode(),
    intent, PendingIntent.FLAG_UPDATE_CURRENT
)

val alarmManager = getSystemService(AlarmManager::class.java)
alarmManager.setExact(
    AlarmManager.RTC_WAKEUP,
    triggerTimeMillis,
    pendingIntent
)

Überprüfen Sie auf Android 12+ die Berechtigung SCHEDULE_EXACT_ALARM vor dem Aufruf von setExact. Wenn die Berechtigung nicht erteilt wurde — verwenden Sie setWindow, das die Zustellung innerhalb eines Zeitfensters garantiert.

Verarbeitung im BroadcastReceiver

Wenn AlarmManager ausgelöst wird, sendet das System einen Broadcast-Intent, der vom BroadcastReceiver empfangen wird. Darin müssen Sie die Benachrichtigung über NotificationManager erstellen und anzeigen. Stellen Sie sicher, dass PendingIntent FLAG_UPDATE_CURRENT verwendet, sonst verwenden alte Benachrichtigungen bei Datenänderungen weiterhin den veralteten Intent.

Planungsbeispiel auf iOS

Auf iOS werden lokale Benachrichtigungen über UNUserNotificationCenter mit UNMutableNotificationContent und einem der Auslöser erstellt. Vor der Planung müssen Sie die Berechtigung des Benutzers einholen.

swift
import UserNotifications

let center = UNUserNotificationCenter.current()

center.requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    guard granted else { return }
}

let content = UNMutableNotificationContent()
content.title = "Aufgabenerinnerung"
content.body = "Vergessen Sie nicht, den Bericht bis 18:00 Uhr fertigzustellen"
content.sound = .default
content.userInfo = ["task_id": "42"]

let trigger = UNTimeIntervalNotificationTrigger(
    timeInterval: 3600,
    repeats: false
)

let request = UNNotificationRequest(
    identifier: "task_reminder_42",
    content: content,
    trigger: trigger
)

center.add(request)

iOS unterstützt bis zu 64 gleichzeitige lokale Benachrichtigungsanfragen. Wenn das Limit überschritten wird, lehnt das System neue Anfragen ab, bis die aktiven zugestellt oder abgebrochen wurden. Verwenden Sie getPendingNotificationRequests, um die aktuelle Warteschlange zu überprüfen.

Behandlung der Delegatenantwort

Wenn ein Benutzer mit einer lokalen Benachrichtigung auf iOS interagiert, wird die Methode userNotificationCenter:didReceive response des UNUserNotificationCenterDelegate aufgerufen. Diese Methode liefert die Anfragekennung, actionIdentifier (welche Schaltfläche gedrückt wurde) und benutzerdefinierte userInfo. Dies ermöglicht die Unterscheidung zwischen einem einfachen Öffnen der Benachrichtigung und dem Drücken einer bestimmten Aktionsschaltfläche.

Best Practices für lokale Benachrichtigungen

Damit lokale Benachrichtigungen nützlich und nicht nervig sind, befolgen Sie mehrere wichtige Regeln. Erstens: kontrollieren Sie die Häufigkeit — nicht mehr als 2–3 Benachrichtigungen pro Tag für nicht kritische Ereignisse, sonst deaktiviert der Benutzer alle App-Benachrichtigungen.

Zweitens: geben Sie dem Benutzer die Wahl. Fügen Sie in der Oberfläche die Möglichkeit hinzu, bestimmte Arten lokaler Benachrichtigungen zu deaktivieren. Verwenden Sie auf Android einen separaten NotificationChannel mit niedriger Priorität; auf iOS eine separate Kategorie in den App-Einstellungen.

Drittens: kontextuelle Relevanz — die Benachrichtigung sollte erscheinen, wenn der Benutzer sie benötigt. Standortauslöser sind ideal für Erinnerungen in der Nähe des Zuhauses, Kalenderauslöser für Termine, Intervallauslöser für regelmäßige Aktivitäten wie Wassertrinken oder Dehnen. Mischen Sie Typen nicht unnötig.

Viertens: testen Sie auf echten Geräten. Der iOS-Simulator emuliert nicht alle Zustellungsszenarien lokaler Benachrichtigungen, insbesondere im Hintergrund. Verwenden Sie auf Android adb shell dumpsys notification, um die Warteschlange geplanter Benachrichtigungen und deren Parameter zu überprüfen. Fünftens: bieten Sie dem Benutzer immer die Möglichkeit, Benachrichtigungen über die App-Oberfläche zu deaktivieren — dies ist eine verbindliche UX-Anforderung und eine Vorgabe der App Store Review Guidelines.

Häufig gestellte Fragen

Was ist der Unterschied zwischen einer lokalen Benachrichtigung und einer Push-Benachrichtigung?

Eine lokale Benachrichtigung wird vom Gerät ohne Serverbeteiligung geplant und zugestellt. Eine Push-Benachrichtigung erfordert einen externen Dienst (FCM, APNS) und eine Internetverbindung. Lokale Benachrichtigungen funktionieren offline, Push nur mit Netzwerkzugriff.

Wie viele lokale Benachrichtigungen können geplant werden?

iOS beschränkt auf 64 gleichzeitig geplante Anfragen. Android hat keine strenge Grenze, aber über 500 Benachrichtigungen können die Systemleistung beeinträchtigen und die Zustellzeit beeinflussen.

Kann eine lokale Benachrichtigung nach der Planung abgebrochen werden?

Ja, auf iOS verwenden Sie removePendingNotificationRequests mit der Anfragekennung. Auf Android rufen Sie NotificationManager.cancel auf oder brechen den PendingIntent über AlarmManager ab. Eine eindeutige Kennung ist für den Abbruch erforderlich.

Ist eine Benutzerberechtigung für lokale Benachrichtigungen erforderlich?

Auf iOS ist die Berechtigung über requestAuthorization obligatorisch. Auf Android 13+ (Tiramisu) ist ebenfalls die Berechtigung POST_NOTIFICATIONS erforderlich. Ältere Android-Versionen benötigen keine explizite Berechtigung für lokale Benachrichtigungen.

Wie füge ich Schaltflächen zu einer lokalen Benachrichtigung hinzu?

Auf iOS erstellen Sie eine UNNotificationAction und fügen sie zu UNNotificationCategory hinzu. Auf Android verwenden Sie NotificationCompat.Builder.addAction mit einem PendingIntent, der auf BroadcastReceiver abzielt. Jede Schaltfläche löst eine separate Aktion in der App aus.

Zusammenfassung

  • Lokale Benachrichtigungen — Nachrichten, die vom Gerät ohne Serverinfrastruktur geplant und zugestellt werden
  • UNUserNotificationCenter — die Haupt-API für lokale Benachrichtigungen auf iOS
  • NotificationManager — die Haupt-API für lokale Benachrichtigungen auf Android
  • Auslösertypen — Zeitintervall, Kalenderdatum, Standort und sofortige Zustellung
  • Grenzen — iOS beschränkt auf 64 geplante Anfragen, Android hat keine strenge Grenze
  • Berechtigungen — iOS und Android 13+ erfordern explizite Benutzereinwilligung für Benachrichtigungen
  • Offline — lokale Benachrichtigungen funktionieren ohne Internetverbindung und sind zuverlässiger als Push

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.

Projekt besprechen

Lesen Sie auch