Web Push Notifications
This guide will help you through the process of setting up your website so that Growlytics can send web push notifications to your website users.
This section will cover how you can setup Web Push as a channel on Growlytics. Before you start, make sure you've integrated the Browser SDK, setup will not work otherwise.
Supported browsers are: Chrome, Firefox, Microsoft Edge, and Opera
To send web push notifications, VAPID credentials are required according to specifications. Growlytics takes care of generating credentials for you. But if you already have used credentials elsewhere, you can configure the same credentials.
- Login to Growlytics dashboard.
- At the top right corner, click on Integrations > Web Push Notification
- Click on Generate VAPID keys if you don't already have the keys else you can provide the VAPID public and private keys in input box.
- Click on save changes.
Web Push requires service worker to be registered.
Add service worker script in your project. You can use Growlytics provided service worker template or if you already have service worker implemented in your project you can add Growlytics's service worker script.
- Download service worker file from here. Add this service worker file at root of your project with any name like
growlytics-sw.js
. - Once, you have added service worker file in your project, inform Growlytics to use that service worker file by providing URL of that file against
serviceWorkerFile
attribute at growlyticsSettings
variable which is being used in the Growlytics script. An example is given below.
// Initialize Growlytics
let growlyticsSettings = {
//.... Other Growlytics Settings
// Configure push notifications, For more details, visit https://docs.growlytics.in/channels/web-push-notifications
webPushEnabled: true, // Enable/disable web push module, disabled if not provided
// Fully qualified URL of service worker file
serviceWorkerFile: 'service worker file location'
};
Also make sure
webPushEnabled
flag is set to true in growlyticsSettings
variable being passed to Growlytics script.If you have disabled auto-request permission at page load from dashboard, you can also use
requestNotificationPermission()
method anytime to ask for notification permission. An example is given below.Growlytics.requestNotificationPermission();
With the above integration steps, you should be able to send push notifications to users using Growlytics campaigns.
Payload structure of web push notification sent from Growlytics will have following structure.
Key | Data Type | Description |
glytcs_pnf | boolean | If this field is present, means notification is received from Growlytics. |
glytcs_id | string | Notification tracking id used by Growlytics. |
glytcs_icn | string | Url of an notification icon. If given, this URL will be used to show small application in notification. |
glytcs_img | string | Url of an notification Image. If given, this URL will be used to show large image in notification. |
glytcs_tl | string | Notification title, must be present or app name will be used as title. |
glytcs_msg | string | Notification body, must be present, if not provided, notification will not be shown. |
glytcs_dl | string | If present, this is a deep link that must be followed at the time of notification open. |