Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Push-API ermöglicht es Webanwendungen, Nachrichten von einem Server zu empfangen, unabhängig davon, ob sich die Web-App im Vordergrund befindet oder aktuell in einem Benutzeragenten geladen ist. Dadurch können Entwickler asynchrone Benachrichtigungen und Updates an Benutzer senden, die sich dafür entschieden haben, was zu einer besseren Interaktion mit zeitgerechten neuen Inhalten führt.
Push-Konzepte und NutzungDamit eine App Push-Nachrichten empfangen kann, muss ein aktiver Service Worker vorhanden sein. Wenn der Service Worker aktiv ist, kann er sich für Push-Benachrichtigungen mithilfe von PushManager.subscribe()
anmelden.
Das resultierende PushSubscription
enthält alle Informationen, die die Anwendung benötigt, um eine Push-Nachricht zu senden: einen Endpunkt und den Verschlüsselungsschlüssel, der zum Senden von Daten erforderlich ist.
Der Service Worker wird bei Bedarf gestartet, um eingehende Push-Nachrichten zu verarbeiten, die an den onpush
-Ereignishandler geliefert werden. Dadurch können Apps reagieren, wenn Push-Nachrichten empfangen werden, beispielsweise indem eine Benachrichtigung angezeigt wird (mithilfe von ServiceWorkerRegistration.showNotification()
).
Jedes Abonnement ist einzigartig für einen Service Worker. Der Endpunkt des Abonnements ist eine einzigartige Capability-URL: Das Wissen um den Endpunkt ist alles, was erforderlich ist, um eine Nachricht an Ihre Anwendung zu senden. Die Endpunkt-URL muss daher geheim gehalten werden, da sonst andere Anwendungen möglicherweise Push-Nachrichten an Ihre Anwendung senden können.
Das Aktivieren eines Service Workers zur Zustellung einer Push-Nachricht kann zu einem erhöhten Ressourcenverbrauch führen, insbesondere der Batterie. Verschiedene Browser haben unterschiedliche Methoden, um dies zu handhaben, es gibt derzeit keinen Standardmechanismus. Firefox erlaubt eine begrenzte Anzahl (Quote) von Push-Nachrichten an eine Anwendung, obwohl Push-Nachrichten, die Benachrichtigungen generieren, von diesem Limit ausgenommen sind. Das Limit wird jedes Mal erneuert, wenn die Seite besucht wird. In Chrome gibt es keine Limits.
SchnittstellenPushEvent
Repräsentiert eine Push-Aktion, die an den globalen Bereich eines ServiceWorker
gesendet wird. Es enthält Informationen, die von einer Anwendung an eine PushSubscription
gesendet werden.
PushManager
Bietet eine Möglichkeit, Benachrichtigungen von Drittanbieter-Servern zu erhalten sowie URLs für Push-Benachrichtigungen anzufordern.
PushMessageData
Bietet Zugriff auf Push-Daten, die von einem Server gesendet werden, und enthält Methoden zur Manipulation der empfangenen Daten.
PushSubscription
Bietet einen URL-Endpunkt eines Abonnements und ermöglicht das Abbestellen von einem Push-Dienst.
PushSubscriptionOptions
Repräsentiert die mit dem Push-Abonnement verbundenen Optionen.
Die folgenden Ergänzungen zur Service Worker-API wurden in der Push-API-Spezifikation festgelegt, um einen Einstiegspunkt für die Verwendung von Push-Nachrichten bereitzustellen. Sie überwachen auch und reagieren auf Push- und Abonnementänderungsereignisse.
ServiceWorkerRegistration.pushManager
Schreibgeschützt
Gibt eine Referenz zur PushManager
-Schnittstelle zurück, um Push-Abonnements zu verwalten, einschlieÃlich Anmelden, Abrufen eines aktiven Abonnements und Zugriff auf den Push-Berechtigungsstatus. Dies ist der Einstiegspunkt für die Nutzung von Push-Nachrichten.
onpush
Ein Ereignishandler, der jedes Mal ausgelöst wird, wenn ein push
-Ereignis auftritt, das heiÃt, wann immer eine Server-Push-Nachricht empfangen wird.
onpushsubscriptionchange
Ein Ereignishandler, der ausgelöst wird, wenn ein pushsubscriptionchange
-Ereignis auftritt; zum Beispiel, wenn ein Push-Abonnement ungültig geworden ist oder bald ungültig wird (z. B. wenn ein Push-Dienst ein Ablaufdatum festlegt).
Mozillas ServiceWorker Cookbook enthält viele nützliche Push-Beispiele.
Spezifikationen Browser-Kompatibilität api.PushEvent api.PushMessageData Siehe auchRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4