This tutorial explains how to add web push notifications to a domain and to all its subdomains using Pushpad.
One option is to treat each subdomain as a completely separate domain. Go to the Pushpad Dashboard and create a different sender / project for each subdomain. However this is only useful if you have only a few subdomains (e.g. blog.example.com) and you want to keep a greater level of separation between them. To give an analogy, it’s like when you create a different SSL certificare for each subdomain: if one gets compromised the others are still safe because you use different keys for each subdomain.
The easiest option if you have many subdomains or you create them dynamically (e.g. you have a subdomain for each of your customers) is to create just one sender for your main domain (e.g. example.com) and use it also for all the subdomains (e.g. sub1.example.com, sub2.example.com) or related domains (e.g. example.org, example.net). To give an analogy, it’s like when you create a wildcard SSL certificate and you use it for all your subdomains. Talking about web push, this method works for all the browsers that support the Web Push API (Chrome, Firefox, Opera, ecc.). Unfortunately Safari (desktop) currently use a different method called APNs and it doesn’t allow to use the same sender / push package for all the subdomains (it doesn’t offer a wildcard option): this means that you have to create a different sender for each subdomain if you really need to support Safari (desktop).