Take a sneak peak of our new documentation Read More
Last Updated: 4/3/2023, 1:06:06 AM

# Notifications

# Overview

AccelByte Cloud’s 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 the client application. Notifications are sent using REST API and are relayed through a WebSocket connection, to ensure that they've been received in real-time. The main features of our Notification service are listed below.

  • Freeform and Template notification types allow you to control the content of your notifications. Freeform notifications can be used for ad-hoc cases where the publishers need to send a notification 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 (opens new window) 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 (opens new window) or Roles (opens new window) assigned to users. For more information, read the Authentication and Authorization (opens new window) documentation.

# Manage 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 will appear. Fill in the required fields as seen below.

    notification

    • Topic: the name of the topic that you wanted to set.
    • Description: a description of the new topic.
  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

By default, sending freeform notifications to individual players from the Admin Portal utilizes synchronous notification. This means that the targeted player must be online to retrieve the message. However, the broadcast feature does not require the player to be online as it sends the message to all players in a namespace, regardless of online status.

  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.

    notification

    notification

  • Type Choose Single User or All User for sending a freeform notification. If you choose a single user, you need to input a specific user id from the player.

  • Topic You can choose any topic if you want. Topic is the one that you created before from the topic panel. it depends on your game logic to handle the notification.

  • Notification Message What message that you want to send to the player. It can be a new update message, new event message, banned user, and other stuff that depends on what your game logic is.

    Once completed, click the Send button to send the notification template or click the Cancel button to cancel the process.

# Create a Notification Template

notification to either a single-player or to all players. To send a templated notification, create a template by following the steps below.

  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.

    notification

    notification

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

# Implement Notifications using the Client SDKs

Notifications can be retrieved either synchronously or asynchronously.

# Retrieve Synchronous Notifications

To retrieve a synchronous notification using the SDK, you need to add the notification delegate.

You can also filter notifications by topic.

# Retrieve Asynchronous Notifications

To retrieve an asynchronous notification, just call the get asynchronous function and all stored notifications will be sent to your notification delegate.

# Connect Custom Services to Notifications using the Server SDKs

# 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: