Notifications API und Berechtigungen
Benachrichtigungsberechtigungen zum richtigen Zeitpunkt anfordern und Browserbenachrichtigungen aus React senden
Notifications API und Berechtigungen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Die Eigenschaft Notification.permission
Notification.permission ist ein statischer String, der den aktuellen Berechtigungsstatus angibt. Er kann "granted" (Benutzer hat erlaubt), "denied" (Benutzer hat blockiert) oder "default" (noch nie angefragt) sein. Prüfen Sie diese Eigenschaft, bevor Sie Benachrichtigungen anzeigen, um unnötige Fehler zu vermeiden.
Berechtigung anfordern
Notification.requestPermission() gibt ein Promise zurück, das mit dem neuen Berechtigungs-String aufgelöst wird. Rufen Sie die Methode nur als Reaktion auf eine eindeutige Benutzeraktion auf, nicht beim Laden der Seite. Browser ignorieren oder unterdrücken Berechtigungsdialoge, die unmittelbar beim Laden erscheinen, und Benutzer empfinden sie ohne entsprechenden Kontext als störend.
Best Practice: Bei einer Benutzeraktion anfordern
Am effektivsten ist es, zunächst in der App einen Hinweis anzuzeigen, der den Nutzen erklärt, und den Benutzer dann auf „Benachrichtigungen aktivieren“ klicken zu lassen, bevor Sie requestPermission() aufrufen. So erhält der Benutzer Kontext, die Akzeptanzrate steigt und der Browser stuft Ihre Website seltener als Spam ein. Fordern Sie die Berechtigung niemals beim Laden der Seite an.
Eine Benachrichtigung erstellen
new Notification(title, options) erstellt und zeigt eine Systembenachrichtigung an. Das erste Argument ist der Titel-String. Das options-Objekt ist das zweite Argument und akzeptiert Eigenschaften wie body (Text des Untertitels), icon (Bild-URL) und tag zur Deduplizierung. Dies funktioniert nur, wenn die Berechtigung "granted" lautet.
Optionen für Benachrichtigungen
Zu den wichtigsten Optionen für Benachrichtigungen gehören: body für beschreibenden Text unterhalb des Titels, icon für ein kleines Bild, badge für das kleine monochrome Symbol im Benachrichtigungsbereich des Betriebssystems, image für ein großes eingebettetes Bild, tag, um eine vorherige Benachrichtigung mit demselben Tag zu ersetzen, und requireInteraction: true, damit die Benachrichtigung angezeigt bleibt, bis der Benutzer darauf reagiert.
Ereignisse von Benachrichtigungen
Die Notification-Instanz löst mehrere Ereignisse aus: onclick wird ausgelöst, wenn der Benutzer auf die Benachrichtigung klickt (verwenden Sie es, um das Fenster zu fokussieren und zu navigieren), onclose wird beim Schließen ausgelöst und onerror, wenn beim Erstellen ein Problem auftritt. Hängen Sie Handler nach dem Aufruf von new Notification() an die zurückgegebene Instanz an.
Benachrichtigungen programmgesteuert schließen
Speichern Sie die zurückgegebene Notification-Instanz in einer Variablen und rufen Sie notification.close() auf, um sie programmgesteuert zu schließen. Das ist nützlich für zeitkritische Benachrichtigungen, die nach einer gewissen Zeit nicht mehr relevant sind. Kombinieren Sie dies mit setTimeout, um die Benachrichtigung nach einigen Sekunden automatisch zu schließen.
HTTPS-Voraussetzung für Benachrichtigungen
Die Notifications API erfordert einen sicheren Kontext. Auf HTTP-Seiten ist typeof Notification === 'undefined' erfüllt oder die API je nach Browser vollständig deaktiviert. Das ist eine Sicherheitsmaßnahme, um zu verhindern, dass bösartige Websites Benutzer mit gefälschten Systemnachrichten überfluten. Prüfen Sie vor der Verwendung immer, ob die API verfügbar ist.
useNotifications-Hook erstellen
Ein useNotifications-Hook kann zwei Methoden bereitstellen: requestPermission() und showNotification(title, options). Intern verfolgt er den aktuellen Berechtigungsstatus und aktualisiert ihn nach der Anfrage. Komponenten können showNotification aufrufen, ohne sich um Berechtigungsprüfungen zu kümmern, da der Hook diese intern übernimmt.
Mit der Visibility API kombinieren
Die Page Visibility API stellt document.hidden und das Ereignis visibilitychange bereit. Benachrichtigungen sind am sinnvollsten, wenn der Benutzer den Tab nicht gerade betrachtet. Prüfen Sie document.hidden === true, bevor Sie eine Benachrichtigung anzeigen, um überflüssige Hinweise zu vermeiden, wenn sich die Seite bereits im Vordergrund befindet.
Service Worker und Push-Benachrichtigungen
Die hier gezeigte Notifications API ist für lokal von der Seite selbst ausgelöste Benachrichtigungen vorgesehen. Für Push-Benachrichtigungen, die auch bei geschlossener Seite eintreffen, benötigen Sie die Push API in Verbindung mit einem Service Worker. Der Service Worker empfängt das Push-Ereignis und ruft self.registration.showNotification() im Hintergrund auf.
Werte von Notification.permission
Welcher der folgenden Werte ist KEIN gültiger Wert für Notification.permission?
Lektionszusammenfassung: Notifications API
Notification.permission kann granted, denied oder default sein. Fordern Sie die Berechtigung immer bei einer Benutzeraktion an, nicht beim Laden der Seite. Verwenden Sie new Notification(title, options), um Benachrichtigungen zu erstellen, und behandeln Sie onclick, um das Fenster zu fokussieren. Kombinieren Sie dies mit der Visibility API, damit Benachrichtigungen nur angezeigt werden, wenn der Tab ausgeblendet ist.
Häufig gestellte Fragen
Ist die Lektion „Notifications API und Berechtigungen“ kostenlos?
Ja — der vollständige Text von „Notifications API und Berechtigungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Notifications API und Berechtigungen“?
Benachrichtigungsberechtigungen zum richtigen Zeitpunkt anfordern und Browserbenachrichtigungen aus React senden Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um React Academy zu starten?
Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Notifications API und Berechtigungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Clipboard API: Kopieren und Einfügen in React
- Geolocation API in React-Komponenten
- Notifications API und Berechtigungen
- IntersectionObserver für scrollgesteuerte Effekte