As I understand it's just a key pair not bound to any service. They are generated in application-server-key.js on the client-side (via
crypto). It's called VAPID.
I don't see how there is no dependency on Google's stuff.
During runtime app server will publish notifications to an endpoint got from a subscription object. It'll be a browser vendor's push service. So strictly speaking push does depend on Google's stuff for Chrome clients but it's only in runtime. We'll not have to setup almost anything.
Another tutorial on implementing web push without GCM:
The endpoint in the subscription object given to me by the browser is still of the following format: https://android.googleapis.com/gcm/send/
What app, Discourse? What Chrome?
It's strange as I took the url from subscription object created in the mentioned demo app (desktop Chrome 56).
Isn't that the case now?
not quite, currently we have to setup a lot of stuff in a GCM/FCM app: account for Google cloud, create new app, enable API, create credentials of right type (which isn't possible in GCM now) and so on.
Personally I couldn't get working (problem). I'm not telling it doesn't work but I failed to set it up.