用户通知

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

体验通知 是一种方式 13+ 用户通过及时、个性化的通知保持与他们最喜欢的体验。作为开发者,您可以确定哪些体验活动是最重要的通知用户的,还可以定义通知内容。此文章包

Example notification
Example notification

体验通知系统包括以关注中/正在关注功能:

  • 具有参数的可定制通知 — 完全灵活地可以定制通知的 消息内容 用于参数,例如:

    • 你的黄金鹅蛋已孵化!
    • Allie @LaterSk8er1 刚刚在东京旅行赛道上打破了你的记录!是时候复仇了吗?
  • 发射数据 — 包括可以通过 Class.Player:GetJoinData() 读取的可选发射数据。这可能涉及将用户路由到坐标位置或个性化他们的加入体验。

  • 分析支持 — 跟踪您可以达到的受众和通知的性能在 创建者仪表板 上。

在收到通知后,用户可以直接通过 加入 按钮加入体验,并根据您的 发布数据 生成。

了解有关功能、资格要求、使用指南和相应的引擎 API 的更多信息,请参阅 体验指南

实现

用户通知资源可让你向用户发送体验通知。在使用它之前,您必须 生成 API 钥匙配置 OAuth 2.0 为您的应用程App。本页面上的示例使用 API 钥匙。

要向用户发送体验通知:

  1. 在 创建者仪表板 中创建通知字符串。此步骤必须在创作中心中执行;没有开放云 API 可用。
  2. 形成请求:
    1. 复制 API 钥匙到 x-api-key 请求头。
    2. 复制通知字符串资产 ID 作为 payload.message_id 属性的值。
    3. payload.type 设置为 "MOMENT" .
    4. source.universe 设置为宇宙资源 URL "universes/${UniverseID}"
发送体验通知

curl --location 'https://apis.roblox.com/cloud/v2/users/${UserId}/notifications' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"source": {
"universe": "universes/${UniverseID}"
},
"payload": {
"message_id": "${AssetID}",
"type": "MOMENT"
}
}'

返回 id 字段中的通知 ID 的示例答案:


{
"path": "users/505306092/notifications/6ca4d981-36fa-4255-82a1-14d95c116889",
"id": "6ca4d981-36fa-4255-82a1-14d95c116889"
}

使用参数自定义通知

要自定义每个收件人收人的通知,请在 通知字符串 中包含 参数。然后在调用 API 时自定义参数。例如,您可以将通知字符串定义为:

{userId-friend} beat your high score by {points} points! Time to level up?

在脚本中添加 userId-friendpoints 参数:

使用参数自定义通知

curl --location 'https://apis.roblox.com/cloud/v2/users/${UserId}/notifications' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"source": {
"universe": "universes/${UniverseID}"
},
"payload": {
"message_id": "${AssetID}",
"type": "MOMENT",
"parameters": {
"userId-friend": {"int64_value": 3702832553},
"points": {"string_value": "5"}
}
}
}'

包括发射和分析数据

为了进一步提高用户体验,您可以在通知中包含 启动数据 ,用于场景,例如将用户路由到坐标位置或个性化加入体验。此外,您可以包含 分析 数据来分割不同类别通知的性能。

包括发射数据和分析数据

curl --location 'https://apis.roblox.com/cloud/v2/users/${UserId}/notifications' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{
"source": {
"universe": "universes/${UniverseID}"
},
"payload": {
"message_id": "${AssetID}",
"type": "MOMENT"
},
"join_experience": {
"launch_data": "Test_Launch_Data"
},
"analytics_data": {
"category": "Test_Analytics_Category"
}
}'

速率限制和交付

每个用户每天可以从给定的体验中收到 个通知,当用户的限制达到时,你会收到透明的反馈。

还有许多其他原因可能导致通知未发送。了解更多信息,请参阅交付系统 在引擎指南中。