Content
Introduction
In this guide you’ll learn about:
Push Notification Templates
Push Notification Test Devices
Creating Push Notification Campaigns
1. Integration with the Notification Component
Before starting, coordinate with the backend team via the #notifire or your #game-backend channel to align on plans and deadlines.
Steps for Integration
Localised Push Notifications : Upload new localisation keys with “Push Notification” type (Title and Body separately).
Create Push Notification Templates in Harmony.
Set Up Offline Segments (minimum: All users active in the last 90 days).
Create Push Notification Campaigns to target desired user segments.
Devices with Push Notification Package Update
App sends an API request
/push_token/submitto the notification component of Harmony.The platform registers the new device.
Any updates to device data/permissions are synced automatically.
Reactor (Notification package)
Here you can find information about latest updates of the package and their release notes:
2. Push Notifications Localisation
The notification component of Harmony supports localised push notifications. These keys ensure that push messages are correctly translated and displayed to users based on their language settings.
Steps for Integration
Define Localisation Keys : Push notifications require specific localisation keys for different languages.
Upload Localisation Keys :
Link Localisation Keys to Templates : Configure templates to use the correct keys based on the language preferences.
Keys are synchronised every few hours (only Live keys).
Click [Sync Localisation Keys] on the T _ emplate/Campaign _ Page for immediate updates.
3. Push Notification Templates
The notification component of Harmony supports localised and non-localised templates.
Steps to Add a New Template
Navigate to Templates
Create a New Template
Enter Template Details
Define “Title” and “Body” for notification template
Save the Template
Additional Options
Test Push Notifications
If the template if localised, admin is able to select the language in which test notification will be sent.
App events for test push notifications are marked with “test_push” prefix in payload so it is possible to differentiate them from campaign ones.
Archiving & Reactivating Templates
Archived templates appear at the bottom of the list.
Cannot be archived if linked to an active campaign.
Archived templates cannot be reactivated.
4. Test Devices in the Notification Component
Creating and Managing Test Devices
Navigate to Test Devices
Create a New Test Device
Enter Test Device Details
Save the Test Device
Overriding Timezone and Language for Test Devices
Impact on Campaigns
Test devices in local time campaigns will receive notifications according to the overridden timezone offset.
Test devices in localized campaigns will receive notifications according to the overridden language.
Note that this setting only affects the Tester Device section and does not impact audience notifications defined by Offline Segments from Player Service nor does it affect timezones settings.
5. Offline Segments in Player Service
The Notification component relies on Offline Segments , which are updated once per day at 6 AM UTC.
Segments : Update dynamically based on user actions.
Offline Segments : Static, updated daily.
The base offline segment is defined as “All users active in the last 90 days.”
This segment serves as the foundational audience for targeting and is maintained separately from other segment lists.
6. Push Notification Campaigns
Campaigns List Page
- Available actions:
Notification Preview in Campaign List View
You can now quickly view the content of notifications sent by each campaign directly from the list view.
Single Template Campaigns
- If the campaign uses one template:
Multiple Template Campaigns
If the campaign includes more than one template:
To create a new campaign:
Click [+New]:
Creating Campaigns
Fields:
| Field | Options | Description |
| --- | --- | --- |
| Name * | | The name of your experiment. |
| Status * | - Active - Inactive - Archived | Active Campaign is live and affects users. Inactive Campaign is inactive and doesn’t affect users. Archived When the campaign is no longer needed, the PM should change its status to “Archived”. Archived experiments are not editable. You can archive your campaign using the yellow [archive button]
on list view. |
| Availability State * | - Test - Live | Test In the Notification component, the "Test" environment is primarily used for permissions management rather than conventional non-production testing. Note that if you select a Live segment in a test campaign, the push notifications will be sent to real players. Live The production environment accessible to real users. Changes in this environment directly affect players and data |
| Start At * | | Campaign start date. By default, the system will start the campaign at the time & date assigned in UTC. You can switch the toggle to “Local” to change this. Note: This toggle affects the Time to send field, not the Campaign Start At field. |
| End At | | Campaign end date. End date is optional, you can leave it empty. |
| Platform * | - All - iOS - Android | By default push notifications will be sent to all platform, but you can set additional filter per platform. |
| Audience * | List of available Offline Segments for the game | Here you define the audience of the campaign. For test campaigns, audience is optional. For live campaigns, only live offline segments are allowed. |
| Rules | - Country - Language - Media source - Current game version | Over specified Offline Segment you are able to add additional rules. For now only a few are supported. If player from the offline segment doesn’t match the rules → they won’t receive push notification from the campaign. - Country (IN/NOT IN) – Users without country data do not receive notifications. - Game Version (>=, <=, >, <) – Set minimum/maximum version. - Media Source (IN/NOT IN) – Users without this data do not receive notifications. - Language (IN/NOT IN) – Users without language data do not receive notifications. The language rule follows the same logic as in GS: Multiple Rules - AND logic applies when multiple rules are selected. |
| Test devices | List of available Test Devices for the game | If you want to check the campaign and receive push notification skipping Audience validation, you are able to add your Test Device to the campaign. To configure language and timezone at a campaign-level for a test device, refer to this section. In case your device is included in the specified Offline Segment and added as a Tester Device to the campaign, you will receive two notifications. |
| Notification template * | List of available templates for the game | As soon as you select the template, you will be able to preview the notification message. If you select localised template, you will additionally have possibility to check the messages for any language in the system. If translations are not set for some language, English fallback will be shown and sent to the players. |
| Time to send * | - Local - UTC - Mode Login Hour | You can now choose from three options to schedule delivery: Local (default) Campaigns will send notifications based on each player's local timezone. Notifications are delivered at the configured time according to the player’s device timezone. UTC Notifications are sent at the same absolute time worldwide, based on Coordinated Universal Time (UTC). Mode Login Hour Campaigns can be configured to send notifications based on a player's most active login hour, with an optional offset between -23 and +23 hours. - Offset : Adjust the send time relative to the player’s Mode Login Hour (e.g., offset -2 sends 2 hours before their peak login hour but in UTC time). - Fallback : A fallback time (Local or UTC) is required. It is used for players who do not have a defined Mode Login Hour. The “Mode Login Hour” option is only available for games where this feature has been enabled. To enable this feature for your team, contact the backend team.
|
| Recurrence * | - One off - Every X minutes - Every X days - Every X weeks - Monthly on | One off → For the campaign push notification will be sent only once Every X minutes → Push notifications will be sent every X minute(s) Every X days → Push notifications will be sent every X day(s) Every X weeks → Push notifications will be sent every X week(s). You can also specify specific days (multiple days can be selected) of the week the campaign will be sent. Monthly on → You can schedule monthly campaigns by first selecting the week of the month (e.g., first, second) and then choosing the day(s) within that week. Example: A campaign set to run on the first Friday of each month runs on April 4th and May 2nd. |
| Capping and Cooldown | Per user cap : Enter an integer value to set the total number of times a user (device) can receive the notification. For example, a value of 3 means the user will only ever receive the notification up to 3 times. A value of 0 means there's no cap. Cooldown between sends : Define how much time must pass before the same user can receive the notification again. This can be set in days, hours, and minutes. For example, setting a 15-day cooldown ensures the user won’t be notified again until 15 days have passed since the last send. | You can now manage how frequently users receive push notifications from a campaign by configuring per-user caps and cooldowns. - The per-user cap limits the total number of times a user (or device) can receive a notification from the same campaign (e.g., a cap of 3 means the user can only be notified 3 times total). - The cooldown sets a minimum time gap between sends to the same user (e.g., a 15-day cooldown ensures a user won’t receive another notification from the campaign until 15 days have passed). Example: A campaign is set to run every Wednesday and Friday with a 15-day cooldown. - Week 1: Notification is sent on Wednesday (15-day cooldown starts). - Week 2: No notification is sent (cooldown still active). - Week 3: Notification is sent on Friday (first day after cooldown ends). - Week 4: No notification is sent (cooldown restarts from Week 3 Friday). |
| iOS Overrides | Wake iOS App in the Background checkbox | This configuration enables the iOS app to be awakened in the background automatically. It ensures that the app processes incoming notifications, updates, or background tasks even when the user isn't actively engaging with the app. |
| Additional Data | | You are able to set up any amount of additional data that will be sent in the payload of the push notifications, ex. sending daily bonus, open some specific page. |
Campaign-Level Language and Timezone Configuration for a Test Device
Add a Test Device to your campaign.
Click the Edit icon next to the added test device.
In the popup:
Click Apply to save the configuration.
- Both language and timezone offset are mandatory.
7. Settings
In Notification Component, users can exclude specific audience groups from receiving push notifications. This allows for analysing the uplift generated by push notifications.
The Settings sub-menu under Push Notifications provides the option to configure a holdout group.
Refer the Configuring Holdout Groups for Push Notifications in Harmony for more details.
8. Launch Analytics in Campaign Actions
The Launch Analytics function provides insights into the performance of a campaign’s push notifications. It allows you to track real-time and historical data on notifications sent and skipped for each campaign launch.
Key Features:
Current Launch Summary: Displays details about the latest campaign launch, including the number of notifications sent and skipped.
Completed Launches: Lists previous launches, showing trends in push notification performance over time.
Sent & Skipped Metrics: Breaks down notifications by platform, highlighting successful deliveries and skipped messages.
Trend Indicators: Shows percentage increases or decreases in sent notifications compared to previous launches.
How to Access:
Navigate to the campaign list.
Under Actions , select [Launch Analytics] for the desired campaign.
View detailed statistics for the current and past launches.
Monitoring Campaign Launch Statistics
For each campaign launch, the system tracks and stores key statistics related to push notifications. This data helps in analysing the performance of push campaigns and assists the BI team in creating dashboards for monitoring.
Stored Metrics
After each campaign launch, the following statistics are recorded:
Sent – The total number of notifications successfully delivered to players.
Failed – The number of notifications that the system attempted but failed to send.
Disabled – The number of notifications that could not be sent because push notifications were disabled on the player's device.
Skipped – The number of notifications that were not sent because the device was unregistered or disabled in SNS.
Local Time Campaigns
For campaigns scheduled based on local time, these statistics are updated hourly for the most recent launch while the system continues to send notifications.
Tracking ‘Not Found’ Device Statistics in Campaign Launches
To improve visibility into push notification delivery issues, the notification component now tracks cases where a device exists in a campaign’s segment but is not found in the database at the time of the campaign run.
Stored Metrics
When a campaign is launched, the system captures how many device records could not receive a push notification due to missing data. These statistics are stored in the following tables:
campaign_launch_stats – Stores the count of devices not found during a campaign launch.
campaign_launch_runs – Stores the count of devices not found during each campaign run.
Chunks 0
No chunks generated yet
Chunks will be generated automatically