LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
Notifications

Detailed Description

Poll and acknowledge queued event notifications generated by other SDK systems.

Notifications are generated automatically by Rewards, Leaderboard resets, Catalog purchases, Progressions, and Triggers when significant events occur. They accumulate in a server-side queue until the game marks them as read, guaranteeing delivery even while a player is offline. Note: these are delivery-queue notifications polled from the game client, not mobile push notifications.

See the LootLocker documentation.

Typedef Documentation

◆ FLootLockerListNotificationsResponseDelegate

typedef void(* FLootLockerListNotificationsResponseDelegate) (FLootLockerListNotificationsResponse)

C++ response delegate for handling List Notifications Responses.

◆ FLootLockerReadNotificationsResponseDelegate

typedef void(* FLootLockerReadNotificationsResponseDelegate) (FLootLockerReadNotificationsResponse)

C++ response delegate for handling read notifications response.

Enumeration Type Documentation

◆ ELootLockerCustomNotificationFiltering

enum class ELootLockerCustomNotificationFiltering : uint8
strong

Enum for custom notification filtering.

Enumerator
All 
Custom_only 
LootLocker_only 

◆ ELootLockerNotificationContentBodyType

enum class ELootLockerNotificationContentBodyType : uint8
strong

Enum of the different types of values that can be in the notification body.

Use this to know how to parse the body.

Enumerator
none 
null 
reward 
json_string 
json_integer 
json_decimal 
json_bool 
json_object 
json_array 
json_array_string 
json_array_integer 
json_array_decimal 
json_array_bool 
json_array_object 
unknown 

◆ ELootLockerNotificationContentRewardKind

enum class ELootLockerNotificationContentRewardKind : uint8
strong

Enum of the different kinds of notification bodies possible, use this to figure out how to parse the notification body.

Enumerator
group 
currency 
asset 
progression_reset 
progression_points 

◆ ELootLockerNotificationPriority

enum class ELootLockerNotificationPriority : uint8
strong

Enum of the different available priorities for notifications.

Enumerator
low 
medium 
high 
emergency 

◆ ELootLockerNotificationSource

enum class ELootLockerNotificationSource : uint8
strong

Enum of the different available sources for notifications.

Enumerator
triggers 
purchasing_steam_store 
purchasing_apple_app_store 
purchasing_google_play_store 
purchasing_lootlocker_store 
twitch_drop 
lootlocker_console 
lootlocker_server_api 
lootlocker_admin_api 

Function Documentation

◆ ListNotifications()

static FString ULootLockerSDKManager::ListNotifications ( bool  ShowRead,
const FString &  OfType,
const FString &  WithSource,
ELootLockerCustomNotificationFiltering  CustomNotificationsFilter,
int  PerPage,
int  Page,
const FLootLockerListNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

List notifications with filters (paginated).

Parameters
ShowReadReturn only previously read notifications
OfTypeOptional: Filter by notification type
WithSourceOptional: Filter by notification source
CustomNotificationsFilterOptional: Filter for custom / non-custom / all
PerPageOptional: Page size (0 to ignore pagination)
PageOptional: Page index (ignored if PerPage == 0)
OnCompleteDelegate for handling the server response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ ListNotificationsWithDefaultParameters()

static FString ULootLockerSDKManager::ListNotificationsWithDefaultParameters ( const FLootLockerListNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

List notifications (default pagination, no filters).

Parameters
OnCompleteDelegate for handling the server response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ ListNotificationsWithPriority()

static FString ULootLockerSDKManager::ListNotificationsWithPriority ( ELootLockerNotificationPriority  WithPriority,
bool  ShowRead,
const FString &  OfType,
const FString &  WithSource,
ELootLockerCustomNotificationFiltering  CustomNotificationsFilter,
int  PerPage,
int  Page,
const FLootLockerListNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

List notifications filtered by priority (paginated, other filters available).

Parameters
WithPriorityPriority to filter by
ShowReadReturn only previously read notifications
OfTypeOptional: Filter by notification type
WithSourceOptional: Filter by notification source
CustomNotificationsFilterOptional: Filter for custom / non-custom / all
PerPageOptional: Page size (0 to ignore pagination)
PageOptional: Page index (ignored if PerPage == 0)
OnCompleteDelegate for handling the server response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ MarkAllNotificationsAsRead()

static FString ULootLockerSDKManager::MarkAllNotificationsAsRead ( const FLootLockerReadNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

Mark all unread notifications as read.

Warning: Marks all unread notifications, including those not yet paged into the client.

Parameters
OnCompleteDelegate for handling the server response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ MarkNotificationsAsRead()

static FString ULootLockerSDKManager::MarkNotificationsAsRead ( const TArray< FLootLockerNotification > &  Notifications,
const FLootLockerReadNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

Mark specified notifications as read.

Parameters
NotificationsNotifications to mark as read
OnCompleteDelegate for handling the response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ MarkNotificationsAsReadByIds()

static FString ULootLockerSDKManager::MarkNotificationsAsReadByIds ( const TArray< FString > &  NotificationIDs,
const FLootLockerReadNotificationsResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

Mark specified notifications as read by id.

Parameters
NotificationIDsNotification ids to mark as read
OnCompleteDelegate for handling the response
ForPlayerWithUlidOptional: Execute for the specified player ULID (default player if empty)
Returns
A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound

◆ TryGetNotificationContentBodyAsUStruct()

template<typename T >
static bool ULootLockerSDKManager::TryGetNotificationContentBodyAsUStruct ( const FLootLockerNotificationContent Content,
T &  Output 
)
inlinestatic

Get the content body as a UStruct of your choice.

Returns true if value could be parsed in which case Output contains the parsed UStruct, returns false if the value field was not present or not parseable.

Parameters
ContentThe notification content for which you want to get the body parsed as a UStruct.
OutputThe UStruct object that you want to be filled with data if the body was successfully parsed.
Returns
True if the body could be parsed as the provided UStruct

Typedefs

typedef void(* FLootLockerListNotificationsResponseDelegate) (FLootLockerListNotificationsResponse)
 C++ response delegate for handling List Notifications Responses.
 
typedef void(* FLootLockerReadNotificationsResponseDelegate) (FLootLockerReadNotificationsResponse)
 C++ response delegate for handling read notifications response.
 

Enumerations

enum class  ELootLockerNotificationPriority : uint8 { ELootLockerNotificationPriority::low = 0 , ELootLockerNotificationPriority::medium = 1 , ELootLockerNotificationPriority::high = 2 , ELootLockerNotificationPriority::emergency = 3 }
 Enum of the different available priorities for notifications. More...
 
enum class  ELootLockerNotificationSource : uint8 {
  ELootLockerNotificationSource::triggers = 0 , ELootLockerNotificationSource::purchasing_steam_store = 1 , ELootLockerNotificationSource::purchasing_apple_app_store = 2 , ELootLockerNotificationSource::purchasing_google_play_store = 3 ,
  ELootLockerNotificationSource::purchasing_lootlocker_store = 4 , ELootLockerNotificationSource::twitch_drop = 5 , ELootLockerNotificationSource::lootlocker_console = 6 , ELootLockerNotificationSource::lootlocker_server_api = 7 ,
  ELootLockerNotificationSource::lootlocker_admin_api = 8
}
 Enum of the different available sources for notifications. More...
 
enum class  ELootLockerNotificationContentBodyType : uint8 {
  ELootLockerNotificationContentBodyType::none = 0 , ELootLockerNotificationContentBodyType::null = 1 , ELootLockerNotificationContentBodyType::reward = 2 , ELootLockerNotificationContentBodyType::json_string = 3 ,
  ELootLockerNotificationContentBodyType::json_integer = 4 , ELootLockerNotificationContentBodyType::json_decimal = 5 , ELootLockerNotificationContentBodyType::json_bool = 6 , ELootLockerNotificationContentBodyType::json_object = 7 ,
  ELootLockerNotificationContentBodyType::json_array = 8 , ELootLockerNotificationContentBodyType::json_array_string = 9 , ELootLockerNotificationContentBodyType::json_array_integer = 10 , ELootLockerNotificationContentBodyType::json_array_decimal = 11 ,
  ELootLockerNotificationContentBodyType::json_array_bool = 12 , ELootLockerNotificationContentBodyType::json_array_object = 13 , ELootLockerNotificationContentBodyType::unknown = 14
}
 Enum of the different types of values that can be in the notification body. More...
 
enum class  ELootLockerNotificationContentRewardKind : uint8 {
  ELootLockerNotificationContentRewardKind::group = 0 , ELootLockerNotificationContentRewardKind::currency = 1 , ELootLockerNotificationContentRewardKind::asset = 2 , ELootLockerNotificationContentRewardKind::progression_reset = 3 ,
  ELootLockerNotificationContentRewardKind::progression_points = 4
}
 Enum of the different kinds of notification bodies possible, use this to figure out how to parse the notification body. More...
 
enum class  ELootLockerCustomNotificationFiltering : uint8 { ELootLockerCustomNotificationFiltering::All = 0 , ELootLockerCustomNotificationFiltering::Custom_only = 1 , ELootLockerCustomNotificationFiltering::LootLocker_only = 2 }
 Enum for custom notification filtering. More...
 

Functions

static FString ULootLockerSDKManager::ListNotificationsWithDefaultParameters (const FLootLockerListNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 List notifications (default pagination, no filters).
 
static FString ULootLockerSDKManager::ListNotifications (bool ShowRead, const FString &OfType, const FString &WithSource, ELootLockerCustomNotificationFiltering CustomNotificationsFilter, int PerPage, int Page, const FLootLockerListNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 List notifications with filters (paginated).
 
static FString ULootLockerSDKManager::ListNotificationsWithPriority (ELootLockerNotificationPriority WithPriority, bool ShowRead, const FString &OfType, const FString &WithSource, ELootLockerCustomNotificationFiltering CustomNotificationsFilter, int PerPage, int Page, const FLootLockerListNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 List notifications filtered by priority (paginated, other filters available).
 
template<typename T >
static bool ULootLockerSDKManager::TryGetNotificationContentBodyAsUStruct (const FLootLockerNotificationContent &Content, T &Output)
 Get the content body as a UStruct of your choice.
 
static FString ULootLockerSDKManager::MarkAllNotificationsAsRead (const FLootLockerReadNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 Mark all unread notifications as read.
 
static FString ULootLockerSDKManager::MarkNotificationsAsRead (const TArray< FLootLockerNotification > &Notifications, const FLootLockerReadNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 Mark specified notifications as read.
 
static FString ULootLockerSDKManager::MarkNotificationsAsReadByIds (const TArray< FString > &NotificationIDs, const FLootLockerReadNotificationsResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="")
 Mark specified notifications as read by id.