ExperienceNotificationService

Show Deprecated
Not Creatable
Service
Not Replicated

Experience Notifications are a way for 13+ users to keep up with their favorite experiences through timely, personalized notifications. This service contains methods to validate users and prompt them to enable notifications.

Summary

Methods

  • Shows an in-experience prompt for the local player to enable notifications.

  • Indicates whether the local player can be prompted to enable notifications.

Properties

Methods

PromptOptIn

void

PromptOptIn() prompts the local player to enable notifications through an in-experience modal. You should always use the result of CanPromptOptInAsync() before calling this method since the ability to be prompted depends on various factors like the player's age or whether they've already enabled notifications for your experience.

This method always infers the local player (Players.LocalPlayer) and it can only be called from a LocalScript or from a Script with RunContext set to Client.

See Experience Notifications for more details on implementing and customizing notifications, using launch data, and more.


Returns

void

Code Samples

LocalScript - Notification Permission Prompt Implementation

local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
-- Function to check whether the player can be prompted to enable notifications
local function canPromptOptIn()
local success, canPrompt = pcall(function()
return ExperienceNotificationService:CanPromptOptInAsync()
end)
return success and canPrompt
end
local canPrompt = canPromptOptIn()
if canPrompt then
local success, errorMessage = pcall(function()
ExperienceNotificationService:PromptOptIn()
end)
end
-- Listen to opt-in prompt closed event
ExperienceNotificationService.OptInPromptClosed:Connect(function()
print("Opt-in prompt closed")
end)

CanPromptOptInAsync

Yields

CanPromptOptInAsync() returns true if the local player can be prompted to enable notifications. You should always use the result of this method before calling PromptOptIn() since the ability to be prompted depends on various factors like the player's age or whether they've already enabled notifications for your experience.

This method always infers the local player (Players.LocalPlayer) and it can only be called from a LocalScript or from a Script with RunContext set to Client. It should also be called in a pcall() since it's an asynchronous network call that may occasionally fail.

See Experience Notifications for more details on implementing and customizing notifications, using launch data, and more.


Returns

Whether the local player can be prompted to enable notifications.

Code Samples

LocalScript - Notification Permission Prompt Implementation

local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
-- Function to check whether the player can be prompted to enable notifications
local function canPromptOptIn()
local success, canPrompt = pcall(function()
return ExperienceNotificationService:CanPromptOptInAsync()
end)
return success and canPrompt
end
local canPrompt = canPromptOptIn()
if canPrompt then
local success, errorMessage = pcall(function()
ExperienceNotificationService:PromptOptIn()
end)
end
-- Listen to opt-in prompt closed event
ExperienceNotificationService.OptInPromptClosed:Connect(function()
print("Opt-in prompt closed")
end)

Events

OptInPromptClosed

This event fires when the local player closes a prompt that was displayed through PromptOptIn(). It can only be connected in a LocalScript or in a Script with RunContext set to Client.

See Experience Notifications for more details on implementing and customizing notifications, using launch data, and more.


Code Samples

LocalScript - Notification Permission Prompt Implementation

local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
-- Function to check whether the player can be prompted to enable notifications
local function canPromptOptIn()
local success, canPrompt = pcall(function()
return ExperienceNotificationService:CanPromptOptInAsync()
end)
return success and canPrompt
end
local canPrompt = canPromptOptIn()
if canPrompt then
local success, errorMessage = pcall(function()
ExperienceNotificationService:PromptOptIn()
end)
end
-- Listen to opt-in prompt closed event
ExperienceNotificationService.OptInPromptClosed:Connect(function()
print("Opt-in prompt closed")
end)