Last Updated: 4/8/2022, 7:26:34 AM

# Notifications

# Overview

The notification service enables administrators or publishers to send text based notifications to players. Notifications can be sent from service to service or from service to client application. Notifications are sent using REST API and are relayed through a WebSocket connection, to ensure that they’re received in real-time. The main features of our Notification service are listed below.

  • Freeform and Template notification types allow you control the content of your notifications. Freeform notifications can be used for ad-hoc cases where the publishers need to send a notifications instantly to their players. Templated notifications include draft and localization features that are suitable for more planned use cases, such as game updates or promotional announcements.

  • Notification Topics can group notifications of similar types to keep them organized.

# Permissions

Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to manage notification in the Admin Portal.

Usage Resource Action
Create a Notification Topic ADMIN:NAMESPACE:{namespace}:NOTIFICATION Create
Send a Freeform Notification to a User ADMIN:NAMESPACE:{namespace}:NOTIFICATION Create
Create a Notification Template ADMIN:NAMESPACE:{namespace}:NOTIFICATION Create
Send a Templated Notification ADMIN:NAMESPACE:{namespace}:NOTIFICATION Create

Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.

# Managing Notifications in the Admin Portal

The Admin Portal gives community managers and game admins an easy way to manage players’ notifications.

# Create a Notification Topic

To create or maintain notification topics in the Admin Portal, follow the steps below.

  1. In the Game Management section of the Admin Portal, go to the Push Notifications section and click the Topics menu. Then click the New Topic button to add a new topic.

    notification

  2. The Add New Topic form appears. Fill in the required fields as seen below

    notification

  3. The newly created topic will be visible in the Notification Topics panel. You can view and edit the topic by clicking the Edit button or delete the topic by clicking the Delete button.

    notification

# Send a Freeform Notification

  1. On the Template page of the Admin Portal, click the Send Freeform button.

    notification

  2. In the Send Freeform window, select which type of user you are going to send the template to. If you select Single User, you need to input the target player’s User ID. If you select All User, the notification will be delivered to all players in the selected namespace.

    notificationnotification

When you’re done, click the Send button to send the notification template or click the Cancel button to cancel the process.

# Create a Notification Template

  1. On the Templates page of the Admin Portal, click the New Template button.

    notification

  2. Fill in the Add New Template form with the required fields.

    notification

    • Input the template’s name in the Template field with the appropriate format.
    • Select the template’s Language from the dropdown menu.
    • Input the Notification Message.

Click the Add button. The newly created template will appear on the Notification Templates page.

  1. On the Templates page, you can choose your newly created template and click the View button to open the Template Localization page.

    notification

  2. Here you can create a draft of the notification message before you publish it.

    notification

After you have created a template for your notification, you are ready to send templated notifications to players.

# Send a Templated Notification

  1. On the Template page of the Admin Portal, click the Send Template button.

    notification

  2. In the Send Template window, select which type of player you are going to send the notification to. If you select Single User, you need to input the player’s User ID. If you select All User, the notification will be delivered to all players in the selected namespace.

    notificationnotification

When you’re done, click the Send button to send the notification or click the Cancel button to cancel the process.

# Connecting Custom Services to Notification using the Server SDK

# SDK Initialization

Before using the Notifications (opens new window) service from the SDK, you will need to initialize your server-side SDK to ensure you are authorized and able to perform create, read, update, and **delete **actions.

# Golang SDK Initialization

Before using the Notifications service from the Golang SDK, you will need to initialize the SDK by following the steps below:

Once completed, you can use the Golang SDK to create, read, update, and delete Notifications (opens new window) from your serverless app.

# Python SDK Initialization

Before using the Notifications service from the Python SDK, you will need to initialize the SDK by following the steps below:

Once completed, you can use the Python SDK to create, read, update, and delete Notifications (opens new window) from your serverless app.

# .NET (C#) SDK Initialization

Use following .NET namespaces:

using AccelByte.Sdk.Api.Lobby;
using AccelByte.Sdk.Api.Lobby.WSModel;

The Lobby WebSocket service works slightly differently to other AccelByte services. Before using the Lobby WebSocket service, you will need to create a LobbyService object.

LobbyService lobby = new LobbyService(sdk.Configuration);
lobby.OnReceiveError = (eMessage) =>
{
	is_error = true;
	//handle if error occurs here
};

Once completed, you can connect and listen to the Lobby WebSocket service.

Task connectTask = lobby.Connect(false);
connectTask.Wait();

Task listenTask = Task.Run(() => lobby.Listen());

# Java SDK Initialization

Before using the Lobby service, you will need to set some permissions. Initialize the Notification wrapper from the Lobby service using the following code:

Notification wLobbyNotification = new Notification(_sdk);

Once completed, you can use the SDK to create, read, update, or delete notifications or friends, or send and receive WebSocket formatted messages from your app.

# WebSocket Setup

Some of the features in the Notifications service use WebSocket to enable the connection. Make sure you've set up WebSocket using our CLI (opens new window). Once you've set up the CLI, you can use the GetNotificationMessage() (opens new window) wrapper to initialize the Notification service from the Lobby service.

# Send a Freeform Notification

Use the following function to send a freeform notification (opens new window):

# Receive Parsed Web Socket Messages

Use the following function to receive a parsed websocket message from the server:

# Retrieve Offline Notifications using Web Socket

Use the following function to retrieve an offline notification:

# Send a create party request message

Use the following function to send a party request message: