Erfahrungsbenachrichtigungen sind eine Möglichkeit für eingewilligte Benutzer im Alter von 13+, mit zeitnahen, personalisierten Benachrichtigungen mit ihren Lieblingserlebnissen Schritt zu halten.Als Entwickler kannst du bestimmen, welche Arten von Erlebnissenaktivitäten für die Benachrichtigung deiner Benutzer am wichtigsten sind, und den Benachrichtigungsinhalt definieren.


Das Erlebnisbenachrichtigungssystem verfügt über die gefolgte ProfileFunktionen:
Anpassbare Benachrichtigungen mit Parametern — Volle Flexibilität, um die Benachrichtigungsnachricht mit Parametern anzupassen, z. B.:
Your gold goose egg has hatched!Allie @LaterSk8er1 just beat your record on the Tokyo Tour track!Startdaten — Enthält optionale Startdaten , die gelesen werden können, wenn der Empfänger der Benachrichtigung beitritt.Dies könnte die Weiterleitung eines Benutzers an einen Koordinatenstandort oder die Personalisierung seiner Erlebnisbeinhalten.
Analytics-Unterstützung — Verfolgen Sie Ihre erreichbare Zielgruppe und die Leistung Ihrer Benachrichtigungen im Creator-Dashboard.
Anforderungen an die Berechtigung
Um die APIs zum Senden von Benachrichtigungen zu verwenden, muss das Erlebnis die folgenden grundlegenden Kriterien erfüllen:
- Mindestens 100 Besuche seit dem starten.
- Die Erfahrung darf nicht moderiert werden.
- Du als Entwickler musst die Berechtigung haben, das Erlebnis zu verwalten.
Verwendungsrichtlinien
Benachrichtigungen sollten personalisiert an den Empfänger gerichtet sein und sollten auf Erfahrungsaktivität basieren, die speziell für den Benutzer relevant ist.Umgekehrt sollten Benachrichtigungen nicht generisch und werblich sein.
Idealerweise sollten Benachrichtigungen auch Benutzer warnen, auf etwas, auf das sie sofort reagieren können unmittelbare Maßnahmen ergreifen .Vermeiden Sie rein informierende Benachrichtigungen, die keine direkte Antwort oder Actionauslösen.
Alle Benachrichtigungsinhalte und -verhalten unterliegen den Community-Standards von Roblox und der textbezogenen Filterung auf der Plattform , unabhängig von den Altersrichtlinien Ihrer Erfahrung .Das bedeutet, dass, wenn dein Erlebnis ein Erlebnis für 17+ ist, deine Benachrichtigungen immer noch den Plattformweiten Standards unterliegen, nicht den 17+ Policy Standards.
Der Inhalt der Benachrichtigung ist nicht erlaubt, dunkle Muster oder andere Taktiken einzubauen, die Benutzer dazu bringen, Entscheidungen zu treffen, die sie nicht beabsichtigen, oder die gegen ihre besten Interessen sind.Dies könnte gefolgte Profileumfassen:
Verkleidete Anzeigen — Benachrichtigungen, die absichtlich als organischer Inhalt getarnt sind, aber eigentlich Werbung sind.Zum Beispiel, nehmen wir an, dass das Klicken auf die folgende Benachrichtigung zu Petz World führt, aber keine "wichtigen Informationen" angezeigt werden.
Zeitgedrängte Aktionen — Benachrichtigungen, die Benutzer unter Druck setzen, zu klicken, zu abonnieren, zuzustimmen oder zu kaufen, indem sie falschen Zeitdruck anwenden.
Köder- und Wechsel mit kostenlosen Artikeln oder anderen Belohnungen — Benachrichtigungen, die Benutzern falsch sagen, dass sie etwas kostenlos erhalten, wenn es nicht ist.Zum Beispiel wird klar, wenn Sie auf die folgende Benachrichtigung klicken, dass etwas weiteres erforderlich ist, um das Geschenk zu erhalten.
Benutzer in die Kaufentscheidung treiben — Benachrichtigungen, die Benutzer dazu bringen, unbeabsichtigte Einkäufe zu tätigen.Zum Beispiel, nehmen wir an, dass das Anklicken der folgenden Benachrichtigung direkt zu einem Kaufsystem führt, das mit Artikeln vorbelastet ist, die der Benutzer nicht kaufenhat.
Erlebnisse sollten nicht Benutzer benötigen, um Benachrichtigungen einzuschalten, um am Gameplayteilzunehmen oder voranzukommen.
Umsetzung
Die Implementierung von Erfahrungsbenachrichtigungen beginnt mit der Erstellung einer Benachrichtigungsstring und der Einbeziehung des Pakets in dein Projekt.Sobald diese eingerichtet sind, kannst du Benachrichtigungen senden mit optionalen benutzerdefinierten Parametern.
Alternativ kannst du die Open Cloud API verwenden, um Benachrichtigungen durch frei formulierte API-Anfragen auszulösen.
Erstelle eine String
Wie bei Spieler-Einladungsaufforderungen musst du deine Benachrichtigungsstränge erstellen und bearbeiten im Creator-Dashboard. Es gibt keine String, daher ist dieser Schritt erforderlich.
Navigiere zum Creator-Dashboard.
Ähnlich wie Abzeichen, sind Benachrichtigungsstränge an ein bestimmtes Erlebnis gebunden. Lokalisieren Sie das Thumbnail dieses Erlebnisses und klicken Sie darauf.
In der linken Spalte, unter Beteiligung , klicken Sie auf Benachrichtigungen .
Klicke in der mittleren Region auf die Schaltfläche Erstelle eine Benachrichtigungsstring .
Füllen Sie einen Identifikationsnamen (nur für Sie sichtbar) und die benutzerdefinierte Stringaus; dies ist auf 99 Zeichen beschränkt und kann unbegrenzte benutzerdefinierte Parameter enthalten.Benachrichtigungen verwenden automatisch den Titel deiner Erfahrung als Benachrichtigungstitel, aber du kannst zusätzlich experienceName verwenden, um deine Erfahrung im Benachrichtigungskörpertext zu referenzieren.
Beispielfernmeldezeilen:
You're {numQuests} quests away from completing the weekly challenge!Your {eggName} hatched! Come meet your new pet.You won {numRaces} races this week and unlocked the {racetrackName} track!{userId-friend} just beat your record on the Tokyo Tour track! Time for revenge?Wenn du bereit bist, klicke auf die Schaltfläche Erstellungsbenachrichtigungsstring .
Auf der Seite mit den Benachrichtigungen, in der Tabelle der Benachrichtigungen, klicke auf die Schaltfläche ⋯ in der Spalte Aktionen und wähle Kopiere Asset-ID .
Verwende die kopierte ID für den messageId Schlüsselwert in der payload Tabelle, wie im Beispielskript dargestellt.
Das Paket einbeziehen
Um Erlebnisbenachrichtigungen zu implementieren, musst du das Luau-Paket aus dem Creator-Store erhalten.
Stellen Sie sicher, dass die Sortierung der Modelle ausgewählt ist, dann klicken Sie auf die Schaltfläche Alle sehen für Kategorien .
Suchen und klicken Sie auf die Entwickler-Module -Kachel.
Suchen Sie das Open Cloud -Modul und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.
In dem Explorer-Fenster verschiebe das gesamte OpenCloud -Modell in ServerScriptService .
Sende eine Benachrichtigungen
Sobald du eine Benachrichtigungsstring erstellt hast und das Paket in dein Projekt eingefügt hast, kannst du Benachrichtigungen von Server-Skripten senden.Benachrichtigungen werden an aktivierte Benutzer im Alter von 13+ Jahren durch ihren Streamgeliefert, bei dem sie sich der Erfahrung direkt über die Beitreten -Taste auf der Benachrichtigung und entsprechend Ihren Startdaten anschließen können.

Um eine grundlegende Benachrichtigung an einen bestimmten Benutzer zu senden, füge die Benachrichtigungsstring-Asset-ID in das Feld des Payloads ein, rufe dann die createUserNotification-Funktion mit den Daten des Empfängers und den Anforderungsdaten auf.
Sende eine Benachrichtigungen
local ServerScriptService = game:GetService("ServerScriptService")local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)local recipientPlayerID = 505306092-- Im Payload ist "messageId" der Wert der Benachrichtigungs-Asset-IDlocal userNotification = {payload = {messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",type = "MOMENT"}}local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)if result.statusCode ~= 200 thenprint(result.statusCode)print(result.error.code)print(result.error.message)end
Benutzerdefinierte Benachrichtigungen mit Parametern anpassen
Um die Benachrichtigung für jeden Empfänger anzupassen, kannst du Parameter in den Benachrichtigungsstring einfügen und die Parameter dann anpassen, wenn du die API aufrufst.Zum Beispiel können Sie die Benachrichtigungszeile als:
Dann legen Sie die userId-friend und points Parameter im Skript, das. PL: die Skriptsfest:
Benutzerdefinierte Benachrichtigung mit Parametern anpassen
local ServerScriptService = game:GetService("ServerScriptService")local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)local recipientPlayerID = 505306092local userIdFriendParam = {int64Value = 3702832553}local pointsParam = {stringValue = "5"}-- Im Payload ist "messageId" der Wert der Benachrichtigungs-Asset-ID-- In diesem Beispiel ist die Benachrichtigungszeile "{userId-friend} hat deinen Höchstscore um {points} Punkte übertroffen! Zeit, aufzustufen?"local userNotification = {payload = {messageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1",type = "MOMENT",parameters = {["userId-friend"] = userIdFriendParam,["points"] = pointsParam}}}local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)if result.statusCode ~= 200 thenprint(result.statusCode)print(result.error.code)print(result.error.message)end
Auffordern Benutzer, Benachrichtigungen zu aktivieren
Um Benutzer zu ermutigen, Benachrichtigungen für ihr Erlebnis zu aktivieren, kannst du eine Erfahrungsberechtigungsaufforderung für Benutzer im Alter von 13+ Jahren mit der Methode ExperienceNotificationService:PromptOptIn() anzeigen.

Du kannst die Aufforderung in jedem geeigneten Kontext innerhalb deiner Erfahrung auslösen, die eine zukünftige Benachrichtigungenerfordert.Der Text der Eingabeaufforderung ist nicht anpassbar und wird über alle Erlebnisse standardisiert.
Die Modal wird nicht erscheinen, wenn der Benutzer:
- Ist unter dem Alter von 13.
- Hat bereits Benachrichtigungen für dein Erlebnis aktiviert.
- Hat bereits die Berechtigungsaufforderung für deine Erfahrung in den letzten 30 Tagen gesehen.
Um Benutzer zur Aktivierung von Benachrichtigungen zu veranlassen, solltest du zuerst feststellen, ob der Benutzer berechtigt ist.Sobald bestätigt, kannst du dem Benutzer die Berechtigungsaufforderung anzeigen.
- Rufen Sie ExperienceNotificationService:CanPromptOptInAsync() an, eingepackt in eine pcall() da es sich um eine asynchrone Netzanruf handelt, der gelegentlich fehlschlagen kann.
- Wenn der Benutzer gefragt werden kann, rufe ExperienceNotificationService:PromptOptIn() an.
LocalScript - Notifikationsberechtigungsaufforderung-Implementierung
local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
-- Funktion, um zu überprüfen, ob der Spieler aufgefordert werden kann, Benachrichtigungen zu aktivieren
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
-- Hören Sie auf die Opt-in-Aufforderung zum geschlossenen Ereignis
ExperienceNotificationService.OptInPromptClosed:Connect(function()
print("Opt-in prompt closed")
end)
Einschließlich Start- und Analysedaten
Um die Erlebnisweiter zu verbessern, kannst du Startdaten in die Benachrichtigung einfügen, nützlich für Szenarien wie das Routing von Benutzern an einen Koordinatenstandort oder die Personalisierung der Erlebnis.Zusätzlich können Sie Analysedaten einfügen, um die Leistung verschiedener Kategorien von Benachrichtigungen zu segmentieren.Bitte beachten Sie auch das Spieler-Einladungs prompt-Beispiel, wie Startdaten festgelegt und verwendet werden können.
Einschließlich Startdaten und Analysedaten
local ServerScriptService = game:GetService("ServerScriptService")local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)local recipientPlayerID = 505306092-- Im Payload ist "messageId" der Wert der Benachrichtigungs-Asset-IDlocal userNotification = {payload = {messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",type = "MOMENT",joinExperience = {launchData = "Test_Launch_Data"},analyticsData = {category = "Test_Analytics_Category"}}}local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)if result.statusCode ~= 200 thenprint(result.statusCode)print(result.error.code)print(result.error.message)end
Lieferungssystem
Ein Spam-Präventionssystem existiert, um die Qualität von Benachrichtigungen für Benutzer zu gewährleisten und den gemeinsamen Benachrichtigungskanal für alle Entwickler zu schützen.Aus diesem Grund ist die Lieferung von Benachrichtigungen nicht garantiert.Dieses Spam-Präventionssystem wird direkt durch die Beteiligung der Benutzer informiert: Je mehr Benutzer mit Ihren Benachrichtigungen interagieren, desto mehr Reichweite werden sie erhalten.Du kannst die Engagement-Metriken transparent im Analytics-Dashboard verfolgen, wie unten erklärt.
Erlebnisbenachrichtigungen haben ein statisches Drossellimit; jeder Benutzer kann eine Benachrichtigung pro Tag von einem bestimmten Erlebnis erhalten, und du erhältst transparentes Feedback, wenn das Drossellimit eines Benutzers erreicht wird.
Zusätzlich listet die folgende Liste einige der speziellen Fälle auf, die zu einer Nichtlieferung einer Benachrichtigungenführen können:
- Die Erfahrungsanforderungen Eignungsvoraussetzungen werden nicht erfüllt.
- Empfänger ist nicht für Benachrichtigungen aus deiner Erlebnisangemeldet.
- Die Drosselgrenze des Empfängers für deine Erfahrung wurde erreicht.
- Das Gesamtdrossellimit des Empfängers wurde erreicht.
- Fehlende oder ungültige Anforderungsparameter.
- Die Benachrichtigungszeile wurde moderiert.
- Für Benachrichtigungen mit Benennungen von Benutzern tritt keine Lieferung nicht ein, wenn eine dieser Bedingungen erfüllt ist:
- Empfänger und erwähnter Benutzer sind keine Freunde.
- Der erwähnte Benutzer hat Nein für "Freunde über meine Aktivitäten aktualisieren?" unter Datenschutz → Andere Einstellungen in seinen Roblox-Kontoeinstellungen ausgewählt.
Analysen
Die Leistung deiner Benachrichtigungen und des ansprechbaren Publikums wird auf der Analytics -Registerkarte der Benachrichtigungen -Seite angezeigt, auf der du Benachrichtigungsstränge konfigurierst (einfach von Kreationen auf Analysen ).
- Navigiere zum Creator-Dashboard.
- Ähnlich wie Abzeichen, sind Benachrichtigungsstränge an ein bestimmtes Erlebnis gebunden. Lokalisieren Sie das Thumbnail dieses Erlebnisses und klicken Sie darauf.
- In der linken Spalte, unter Beteiligung , klicken Sie auf Benachrichtigungen .
- Klicke auf der Zielseite auf die Analytics -Registerkarte, um zum Analytics-Dashboard zu wechseln.
Zusammenfassung
Der Abschnitt Zusammenfassung dient als Schnappschuss der aggregierten Leistung deiner Benachrichtigungen.Ein Minimum von 100 aggregierten Impressionen ist erforderlich, um die Statistikanzuzeigen.

Statistik | Beschreibung |
---|---|
Eingeschriebene Benutzer | Die Gesamtzahl der Benutzer, die Benachrichtigungen für dein Erlebnis aktiviert haben.Bitte beachten Sie, dass dies Benutzer unter dem Alter von 13 Jahren einschließt, die nur die Benachrichtigung über Erfahrungsaktualisierungen erhalten können, nicht personalisierte Erfahrungsbenachrichtigungen. |
Eindrücke | Die Gesamtzahl der Benutzerimpressionen, die alle deine Benachrichtigungen im Durchschnitt erhalten haben. |
Klicks | Die Gesamtanzahl der Klicks, die alle deine Benachrichtigungen im Durchschnitt erhalten haben. |
Klickrate | Die Rate, mit der Benutzer auf deine Benachrichtigungen klicken, berechnet als Verhältnis von Klicks zu Impressionen. |
Ausschalten | Die Rate, mit der Benutzer Benachrichtigungen für dein Erlebnis direkt von deinen Benachrichtigungen ausschalten, berechnet als Verhältnis von Ausschaltaktionen zu Impressionen. |
Ablehnen | Die Rate, mit der Benutzer Ihre Benachrichtigungen ablehnen, berechnet als Verhältnis von Ablehnungsaktionen zu Impressionen. |
Zerlegte Statistiken
Die Erfahrungsbenachrichtigungen Tabelle zeigt detaillierte Leistungsstatistiken für jede Benachrichtigung mit mindestens 100 Impressionen an, sortiert nach dem Datum des ersten Eindrucks für diese Benachrichtigungen.

Die Name -Säule ist der Schlüssel-Identifikator für die Benachrichtigungen.Standardmäßig stimmt der Name dem Namen des Identifizierers überein, den du angegeben hast, als du die Benachrichtigungszeichenfolge erstellt hast , aber du kannst ihn durch das Feld in deinen API-Aufrufen überschreiben, in dem Fall wird der Name überschrieben.Die Änderung des Schnurnamens im Creator-Dashboard oder die Änderung der Zeichenfolge, auf die sich Ihre Nachricht-ID-Referenz im API-Aufruf bezieht, erzeugt eine neue Zeile in der Tabelle.
Wenn Sie die Leistung verschiedener Zeichenketten testen möchten, wird empfohlen, dass Sie eine völlig neue Benachrichtigungszeichenkette mit einem ähnlichen Namen erstellen, zum Beispiel:
- EggHatchA — "Dein Gold-Ei ist geschlüpft! Komm und triff dein neues Haustier."
- EggHatchB — "Es ist Brutzeit! Komm und triff dein neues Haustier."
API-Referenz
Funktionen
createUserNotification
createUserNotification ( userId : Nummer , Benachrichtigung des Benutzers : Benachrichtigung des Benutzers) : Benachrichtigungsresultat des Benutzers >Sendet eine Benachrichtigung von einem serverseitigen Skript, das. PL: die Skripts.Benötigt die Empfänger Player.UserId und eine Benutzerbenachrichtigung.Gibt eine Benutzerbenachrichtigungsresultat zurück.
Sende eine Benachrichtigungen
local ServerScriptService = game:GetService("ServerScriptService")local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)local recipientPlayerID = 505306092-- Im Payload ist "messageId" der Wert der Benachrichtigungs-Asset-IDlocal userNotification = {payload = {messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",type = "MOMENT"}}local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)if result.statusCode ~= 200 thenprint(result.statusCode)print(result.error.code)print(result.error.message)end
Arten
Benutzerbenachrichtigung
Tabelle mit Details zur Benachrichtigung, die an den Benutzer gesendet werden soll.Muss eine payload Tabelle mit erforderlichen messageId und type Zeichen und optionalen parameters , joinExperience und analyticsData Tabellen enthalten.
Schlave | Typ | Beschreibung |
---|---|---|
messageId | string | Eine ID, die ein anpassbares Benachrichtigungsmuster darstellt, das du im Creator-Dashboard erstellst. |
type | string | Die Art der Benachrichtigungen. Derzeit wird nur "MOMENT" unterstützt. |
parameters | tabelle | Eine Tabelle von Parametern, die verwendet werden, um eine Benachrichtigungsnachrichtsvorlage zu rendern. Siehe Anpassen von Benachrichtigungen mit Parametern zum Beispiel für die Verwendung. |
joinExperience | tabelle | Ein Aufruf zum Handeln, der den Beitritt zu einem Erlebnis darstellt.Unterstützt derzeit ein launchData Schlüssel-Wert-Paar, das zufällige Daten darstellt, die einem Erlebnis zur Verfügung stehen, wenn ein Benutzer dem Erlebnis aus der Benachrichtigungenbeitritt; dieser Wert ist auf ein Maximum von 200 Bytes beschränkt.Siehe Include Start- und Analysedaten zum Beispiel für die Verwendung. |
analyticsData | tabelle | Daten, wie Analysen berichtet werden.Unterstützt derzeit ein category Schlüssel-Wert-Paar, das die Kategoriedarstellt, mit der Analysedaten gruppiert werden.Siehe Include Start- und Analysedaten zum Beispiel für die Verwendung. |
Benutzerbenachrichtigungsresultat
Ein Wrapper-Objekt, das die Antwort aus einer gesendeten Benachrichtigungenenthält. Enthält die folgenden Schlüssel-Wert-Paare:
Schlave | Typ | Beschreibung |
---|---|---|
statusCode | zahl | Der HTTP-Statuscode für die Anfrage. |
error | tabelle | Tabelle mit den Schlüsseln code und message, die den GRPC-Fehlercode und die Nachrichtbeschreiben, jeweils separat. |
response | tabelle | Tabelle mit id und path Schlüsseln, die eine eindeutige UUID und den Ressourcenpfad der Benachrichtigungendes Benutzers beschreiben, respectively. |