Web Push notifications on Chrome for Android: Do I need a third party service like GCM or SNS? Web Push notifications on Chrome for Android: Do I need a third party service like GCM or SNS? google-chrome google-chrome

Web Push notifications on Chrome for Android: Do I need a third party service like GCM or SNS?


The Browser Push Service

As I have explained in another answer, in order to send web push notifications, you need to interact with the browser push service. Basically each browser, when the user allows push notifications, returns an endpoint (URL) that is specific for its own push service.

For example:

  • Chrome and Opera endpoints start with prefix https://fcm.googleapis.com/, because they use FCM (ex GCM)
  • Firefox endpoints start with prefix https://updates.push.services.mozilla.com/, because Firefox uses Mozilla autopush

So notifications will always pass through FCM and autopush, there's no alternative: the push service is hardcoded inside the browser.

Web Push Notification Services as a layer of abstraction

There is also another kind of web push services. Their aim is to provide a layer of abstraction and additional features over the browser push service. For example Pushpad is one of them (I am the founder).

Instead of interacting directly with the different browser push services (e.g. FCM, autopush), your web app can interact just with one push service (e.g. Pushpad), which then interacts with the browser push services for you (automating many tasks, like VAPID and providing additional features like monitoring and integrations).

Confusion about FCM

FCM is quite confusing because it acts both as a "browser push service" for Chrome and Opera, but it also acts as a general "web push notification service" for other browsers. So for Firefox for example, FCM acts as a proxy towards Mozilla autopush.