Web Push kommt auf iOS und iPadOS: Pushbenachrichtigungen für PWAs jetzt überall

Apple bringt Web Push auf Safari für macOS, iPadOS und iOS. Damit können Websites und PWAs jetzt auf allen relevanten Plattformen Pushnachrichten empfangen.

In Pocket speichern vorlesen Druckansicht

(Bild: MichaelJayBerlin/Shutterstock.com)

Lesezeit: 4 Min.
Von
  • Christian Liebel

Progressive Web Apps sind Anwendungen, die plattformübergreifend ausgeführt werden können: Einmal geschrieben laufen PWAs überall dort, wo ein halbwegs moderner Webbrowser zur Verfügung steht – unter anderem auf Android, iOS, Linux, macOS und Windows. Schon seit vielen Jahren können Webanwendungen auf dem Gerät des Anwenders installiert und offline ausgeführt werden. Mit den Apple-Mobilplattformen iOS und iPadOS können Websites und PWAs nun auf sämtlichen relevanten Mobil- und Desktoplattformen Pushnachrichten empfangen und anzeigen. Diese Funktion brauchen unter anderem Messenger, Nachrichten- oder Banking-Apps sowie soziale Netze.

Apple implementiert Web Push für Safari 16 auf macOS Ventura, das im Herbst 2022 erscheinen soll. Auf iOS und iPadOS folgt die Implementierung im Jahr 2023. Unter macOS können Anwender bereits seit langer Zeit mit Firefox, Edge oder Chrome Pushbenachrichtigungen erhalten. Aufgrund der fehlenden Browserenginewahl unter iOS und iPadOS war dies dort aber bislang nicht möglich. Apple wird in Safari dieselben Spezifikationen implementieren, die alle übrigen relevanten Browserhersteller schon seit einigen Jahren unterstützen:

Aufseiten des Frontends bedeutet dies, dass Websites und Webanwendungen einen Service Worker implementieren müssen, um Pushbenachrichtigungen empfangen zu können. Für den Empfang von Pushnachrichten muss der Anwender erst einwilligen. Dazu wird eine Berechtigungsabfrage angezeigt, die nur im Rahmen einer Benutzerinteraktion wie einem Klick oder Tastendruck geöffnet werden darf. Wie bei allen anderen Apps auch können Anwender die Berechtigung in den Systemeinstellungen auch wieder zurückziehen. Das genaue Vorgehen ist im Video Meet Web Push for Safari von der Entwicklerkonferenz WWDC 2022 zu sehen.

Der Apple Push Notification Service (APNs) wird wie die anderen Pushdienste Windows Push Notification Service, Firebase Cloud Messaging und Mozilla Push Service die Voluntary Application Server Identification (VAPID, RFC 8292) unterstützen, mit der sich das Backend beim Pushdienst ausweisen kann. Auch das Backend muss lediglich ein Protokoll sprechen, um mit den verschiedenen Pushdiensten zu kommunizieren. Eine Registrierung beim Apple Developer Program ist nicht erforderlich. Wer Web Push bereits implementiert und sich an die Standards gehalten hat, muss vermutlich gar nichts ändern: Sobald Safari die Schnittstellen generell verfügbar macht, sollte es auch dort einfach funktionieren.

Weitere Details sind in der Apple Developer Documentation nachzulesen. Mit der Verfügbarkeit von Pushbenachrichtigungen schließt sich für PWAs unter iOS und iPadOS nun endlich der Kreis: Schon 2018 implementierte Apple den Service Worker sowie das Web Application Manifest in WebKit. Diese Spezifikationen bilden die Grundlage für Offlinefähigkeit und Installierbarkeit von Webanwendungen. Die Push API wird seit Chrome 42 (2015), Firefox 44 (2016) und Edge 17 (2018) unterstützt. Safari unterstützt unter macOS seit Version 7 ein proprietäres Pushprotokoll (Safari Push Notifications), das auch weiterhin funktionieren wird, aber eine Registrierung beim Apple Developer Program voraussetzt, sowie die Notifications API seit Version 6.

Mit Web Push und weiteren WebKit-Ankündigungen von der WWDC 2022 holt Apple im Web-Bereich zunehmend auf. Das PWA-Anwendungsmodell ist nun auch auf iOS und iPadOS abgerundet. Die Herausgeber Chromium-basierter Browser, die seit vielen Jahren Web Push unterstützen, sind jedoch längst in neue Gefilde aufgebrochen: Die im Rahmen von Project Fugu entstandenen Webschnittstellen haben es etwa Adobe erlaubt, Photoshop in einer Webfassung herauszugeben. Für Webentwickler bleibt zu hoffen, dass Apple auch hier nachlegen wird, um Webanwendungen auf dem Desktop mit weiteren spannenden Fähigkeiten auszustatten.

(map)