Chrome, Firefox browsers require websites to be on HTTPS to take user subscriptions for web push notifications. While HTTPS sites can integrate web push SDKs and take subscriptions directly on their domain, HTTP websites have to follow approaches set by web push service providers they're using. The common approach followed by most of the service providers is taking subscriptions on their sub-domain. For example, with this implementation for an HTTP website http://trak.in, subscriptions would be taken on https://trak.izooto.com.
We recommend our customers to take subscriptions on their own domain so that they've complete ownership of their subscribers. Here's how you can achieve it with iZooto.
1. Take subscriptions on your sub-domain by doing a CNAME entry
A Canonical Name Record aka CNAME entry is a type of record in DNS which is used to indicate that the domain name is an alias for another domain. With CNAME approach, we take subscriptions on customer's sub-domain. There are two parts to the implementation
Step 1: Adding a CNAME entry
Following is a sample CNAME entry, it will make notify.yourdomain.com point to notify.izooto.com.
|Name / Host /Alias||Value / Destination||TTL|
|notify||notify.izooto.com||86400 or default|
For example, above entry for http://trak.in would make https://notify.trak.in point to https://notify.izooto.com.
Step 2: Installing a single-domain SSL certificate on your domain
Customer needs to provide us with a single-domain SSL certificate to configure it on https://notify.yourdomain.com, alternatively we can buy it on customer's behalf and get it installed on the sub-domain. Once both steps are completed, we will modify SDK at our end to take subscriptions on https://notify.yourdomain.com.
Above image shows, a site taking consents on a custom domain through CNAME, and the push notification displaying same custom domain.
2. Take subscriptions on the main domain by creating an HTTPS page
You may also create an HTTPS page - https://yourdomain.com/notifications, while the rest of the website may still reside on http. We will provide you with an updated SDK, the SDK integration would happen as follows -
Step 1: Placing files - manifest.json, service-worker.js - at root directory of the website and making them accessible over HTTPS. For example, files would be accessible at https://trak.in/manifest.json, https://trak.in/service-worker.js
Step 2: Including iZooto pixel on all the pages.
Above image shows trak.in taking consents their HTTPS page - https://trak.in/notifications, taking subscriptions on and pushing notifications through the main domain.
3. Take subscriptions on the main domain by migrating site to HTTPS
Above image displays an HTTPS site - americanexpressindia.co.in - taking subscriptions and sending notifications through the main domain.
You can migrate your site to HTTPS and generate an HTTPS pixel at iZooto sign-up.
For any queries, write to us at firstname.lastname@example.orgemail@example.com.