You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

Answer from Crates on Stack Overflow
Top answer
1 of 6
159

You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

2 of 6
39

I just want to let you all know: Apple will support push notifications for web apps! This news was published at the WWDC2022. Apple will release Web Push with Safari 16 on macOS (Ventura) in a few months (2022) and for iOS and iPadOS in 2023.

See: https://webkit.org/blog/12945/meet-web-push/

๐ŸŒ
Wappler Community
community.wappler.io โ€บ coffee lounge
Thoughts on iOS PWA Push Notifications In 2022? - Coffee Lounge - Wappler Community
January 1, 2022 - I just decided to have a quick look at if apple have yet started to make the push notification api for iOS and found this posted January the 31st Maybe we will have some sort of web push notifications by the end of 2022 if we are lucky ๐Ÿ™‚ What is everyones thoughts on this not something I ...
๐ŸŒ
Monogram
monogram.io โ€บ blog โ€บ notifications-from-ios-and-ipados-pwas
iOS & iPadOS PWA Notifications | Monogram
May 1, 2024 - In a significant leap forward, Apple has recently enabled the delivery of native iOS notifications for PWAs. This development is a game-changer, removing one of the key barriers that often push developers towards publishing apps via the Apple ...
๐ŸŒ
Pushalert
pushalert.co โ€บ blog โ€บ pwa-push-notifications-ios-android
How to Add Web Push Notifications to your PWA on iOS and Android (The Easy Way) | PushAlert Blog
For testing you can install the PWA to your iOS or Android device and allow notification permission. Then head to the Send Notification section on the dashboard. Customize the title, message and URL for the notification. The notification will be delivered right to your device, and it will show ...
๐ŸŒ
OneSignal
onesignal.com โ€บ blog โ€บ ios-web-push-notification-support-is-coming-soon
iOS Web Push Notification Support is Forecasted For 2022
November 23, 2022 - However, the introduction of this ... the public launch of iOS 15.4 is slated for April 2022, web push support likely won't be available until later, possibly in iOS 16....
๐ŸŒ
MacRumors
macrumors.com โ€บ 2022 โ€บ 06 โ€บ 06 โ€บ ios-16-support-web-push-notifications
iOS 16 Bringing Support for Web Push Notifications Next Year - MacRumors
June 6, 2022 - Hopefully Apple provides a way to block website nag messages asking you to enable push notifications. ... Really hope there's a good amount of spam control on this planned. ... Yay! Now I'm going to get so many MacRumors notifications on my new iOS 16 lock screen. ... Every little step to improve PWA's is welcome on all platforms.
๐ŸŒ
Firt
firt.dev โ€บ ios-15.4b
Push Notifications, WebXR, and better PWA support coming to iOS ๏ผ firt.dev
The feature is disabled by default in the latest beta and release notes make no mention of it, which may say that it won't be shipped now, and we may need to wait a couple of months for iOS 16 or later.
Find elsewhere
๐ŸŒ
Reddit
reddit.com โ€บ r/pwa โ€บ web push notifications on ios in 2023 - notifications on screen included?
r/PWA on Reddit: Web push notifications on iOS in 2023 - notifications on screen included?
September 10, 2020 -

Do i understand it correctly, that this will not only allow to notify a PWA's service-worker, but also to show a real notification on the screen? (https://webkit.org/blog/12824/news-from-wwdc-webkit-features-in-safari-16-beta/)

Also is there any information on if and when link capturing (open installed PWA instead of safari when url matching manifest scope/start_url is clicked outside of PWA) might come?

Damn, Apple! Come on!

๐ŸŒ
MagicBell
magicbell.com โ€บ blog โ€บ using-push-notifications-in-pwas
Using Push Notifications in PWAs: The Complete Guide
Manifest file: A PWA needs a manifest file because it gives the browser important application information. The web app manifest is crucial for enabling features such as push notifications, which enhance user engagement and experience. One caveat: iOS users must first install the Progressive Web App (PWA) by adding it to their home screen before they can subscribe to push notifications, so tailored prompts for these users are necessary.
๐ŸŒ
GitHub
github.com โ€บ andreinwald โ€บ webpush-ios-example
GitHub - andreinwald/webpush-ios-example: WebPush for IOS demo and code: VAPID, Home Screen, gcm_sender_id, serviceworker, iPhone, iPad
webpush_safari_ios_wwdc_2022.mp4 ยท Basic WebPush subscription code ยท Generating VAPID key ยท Installing PWA on iOS by adding to Home Screen ยท Subscription and saving token (Prompt with permission) Service worker ยท Sending push message ยท Example of basic subscription code, that works in Google Chrome and Firefox.
Starred by 107 users
Forked by 21 users
Languages ย  JavaScript 74.8% | HTML 25.2%
๐ŸŒ
Neoteric
neoteric.eu โ€บ home โ€บ web development โ€บ all you need to know about pwa on ios
PWA on iOS: notifications, deployment, benefits | Neoteric
September 4, 2025 - Although there are not as many PWAs in the Apple App Store as in the Android Play Store, they absolutely do work, as weโ€™ve proven in our earlier example. More PWAs are making their way to iOS with every new release, and the number will continue to grow. With the release of iOS 16.4, Apple introduced support for push notifications in PWAs, allowing developers to send real-time alerts to users.
๐ŸŒ
Thinktecture
thinktecture.com โ€บ home โ€บ additional approaches: advanced progressive web apps โ€“ push notifications under control โ€“ part 4
Additional Approaches: Advanced Progressive Web Apps - Push Notifications Under Control - Part 4 - Thinktecture AG
March 9, 2022 - Text messages have been valued for their battle-safe reliability for many years and therefore are a reliable replacement option for sending notifications to users. Using the Wallet app is another option to re-engage users on iOS. Interestingly, iOS supports notifications with a custom app name and icon for passes registered in the Wallet app.
๐ŸŒ
9to5Mac
9to5mac.com โ€บ 2022 โ€บ 06 โ€บ 06 โ€บ ios-16-web-push-notifications-safari-update
iOS 16 enables web push notifications with Safari update - 9to5Mac
June 6, 2022 - Apple says the feature will come in 2023 with a future update of iOS 16, so it wonโ€™t be available at launch. At least the company has now finally confirmed that it is working on web push notifications.
๐ŸŒ
Mobiloud
mobiloud.com โ€บ blog โ€บ how to set up push notifications for your pwa (ios and android)
How to Set Up Push Notifications for Your PWA (iOS and Android)
So you may want to set up a prompt just for iPhone users that asks them to install your PWA (as iOS also doesnโ€™t have an automatic install prompt for PWAs, as Android does). Once your service worker is installed, and youโ€™ve logged permission from users to send push notifications, your service worker will need to โ€œlistenโ€ for incoming push notifications.
๐ŸŒ
iZooto
izooto.com โ€บ ios push notifications โ€บ ios push notifications on web is now live with ios 16.4
iOS Push Notifications on Web Is Now Live With iOS 16.4
November 8, 2024 - As promised in WWDC in June 2022, ... on iOS. Starting iOS 16.4, websites are now able to start sending iOS push notifications, not only on Safari, but also to other browsers such as Chrome and Firefox....
๐ŸŒ
MagicBell
magicbell.com โ€บ blog โ€บ best-practices-for-ios-pwa-push-notifications
4 Best Practices for iOS PWA Push Notifications
Discover best practices for creating effective iOS PWA push notifications, from messaging to frequency and more.
๐ŸŒ
Medium
medium.com โ€บ @gxgemini777 โ€บ complete-guide-to-implementing-background-push-notifications-in-pwas-d36340a06817
Complete Guide to Implementing Background Push Notifications in PWAs | by DHoper | Medium
May 21, 2024 - To implement background notifications for a PWA (Progressive Web App), even when the user has not opened the app, we need to use two main interfaces: the Notifications API and the Push API. Below is a brief introduction to these interfaces along with code snippets. Detailed registration and push operations will be explained later. Before starting, please note that iOS fully supports the Push API only from version 16.4 onwards.