权限
k-ID 监管中心中的权限代表在全球一个或多个司法管辖区的法规中涉及的游戏功能分类。权限在 Compliance Studio 中为游戏配置。每个匹配游戏功能的 k-ID 权限都应在 Compliance Studio 中启用。
什么是权限?
权限代表您游戏中可能需要父母同意或具有年龄限制的功能或能力。每个权限可以根据以下因素为玩家启用或禁用:
- 他们的年龄和司法管辖区
- 父母同意(如果需要)
- 权限在 Compliance Studio 中的配置
权限结构
会话中的每个权限具有以下结构:
{
"enabled": true,
"managedBy": "PLAYER",
"name": "text-chat-private"
}
权限字段
name:权限的标识符(例如,text-chat-private、in-game-purchases)enabled:权限当前是否为玩家启用managedBy:谁可以启用或禁用此权限:PLAYER:玩家可以在没有父母同意的情况下自己启用/禁用此权限GUARDIAN:只有可信成人可以启用/禁用此权限PROHIBITED:此权限在当前位置对于当前玩家永远不允许
managedBy 字段不是静态的。当玩家年龄升级并且不再需要父母同意时,以前是 managedBy: "GUARDIAN" 的权限可能会变为 managedBy: "PLAYER"。当玩家通过 /session/upgrade API 请求启用 PLAYER 管理的权限时,它会自动启用而不会创建挑战。您的应用程序应该通过随时间比较会话来处理这些更改。
谁可以启用权限?
游戏代码应该使用每个 k-ID 权限来控制对游戏中相应功能的访问。如果权限的 enabled 字段为 true,这意味着功能可以在游戏中为玩家启用。如果 enabled 字段为 false,则必须关闭功能。
某些司法管辖区要求游戏在玩家达到某个年龄时默认关闭某些功能,即使玩家访问该功能是可以接受的(这有时被称为"默认隐私"要求)。在这种情况下,enabled 为 false,managedBy 字段包含 PLAYER。
如果功能只能由可信成人打开或关闭,则 managedBy 字段的值为 GUARDIAN。如果功能在当前位置对于当前玩家永远不允许,无论其可信成人的同意如何,managedBy 字段包含值 PROHIBITED。在最后一种情况下,游戏完全从用户体验中删除禁止的功能而不是显示为关闭是合适的。
当玩家年龄升级并且不再需要父母同意时,以前是 managedBy: "GUARDIAN" 的权限可能会变为 managedBy: "PLAYER",允许玩家直接控制它们。当玩家通过 /session/upgrade API 请求启用 PLAYER 管理的权限时,它会自动启用而不会创建挑战。您的游戏应该提供允许玩家管理这些权限的 UI 控件。
将权限匹配到游戏功能
k-ID 监管中心中的权限代表在全球一个或多个司法管辖区的法规中涉及的游戏功能分类。权限在 Compliance Studio 中为游戏配置。每个匹配游戏功能的 k-ID 权限都应在 Compliance Studio 中启用。选择的 k-ID 权限在父母为孩子玩游戏给予同意时呈现给父母。
在游戏中显示映射到 k-ID 权限的功能时,应该检查 Session 以查看功能是否已启用,以及是否允许玩家打开它。
可用权限
以下权限在 Compliance Studio 中可用:
社交权限
- 在线多人游戏 (
multiplayer) - 排行榜和排名 (
leaderboards-and-rankings) - 加入群组 (
join-groups) - 公开资料 (
public-profile) - 自定义头像 (
custom-avatar) - 自定义用户名 (
custom-username) - 文本聊天(私密) (
text-chat-private) - 文本聊天(公开) (
text-chat-public) - 语音聊天 (
voice-chat) - 视频聊天 (
video-chat) - 在线状态 (
online-status) - 公开好友列表 (
public-friend-list) - 发送接受好友请求 (
send-accept-friend-requests) - 链接到第三方聊天 (
link-to-third-party-chat) - 虚拟活动 (
virtual-events) - 分享到社交媒体 (
share-to-social-media)
营销权限
- 个性化推荐 (
personalized-recommendations) - 定向广告 (
targeted-ads) - 画像分析 (
profiling) - 推送通知 (
push-notifications) - 直接营销 (
direct-marketing) - 论坛 (
forums)
商业权限
- 游戏内购买 (
in-game-purchases) - 战利品箱(仅付费装饰) (
loot-boxes-paid-cosmetic-only) - 战利品箱(付费影响游戏玩法) (
loot-boxes-paid-gameplay-impacting) - 战利品箱(完全扭蛋) (
loot-boxes-kompu-gacha) - 发送礼物 (
send-gifts) - 模拟赌博 (
simulated-gambling) - 虚拟财产所有权 (
virtual-property-ownership)
创建内容或共享数据权限
- 摄像头访问 (
camera-access) - 分享游戏片段截图 (
share-game-clips-screenshots) - 照片视频分享 (
photo-video-sharing) - 精确位置分享 (
real-time-location-sharing) - 用户生成内容 (
mods) - 游戏玩法流式传输 (
gameplay-streaming) - 游戏玩法录制 (
gameplay-recording) - 链接到第三方流式传输应用 (
link-to-third-party-streaming-app)
高级权限
- AI 生成头像 (
ai-generated-avatars) - 增强现实 (
augmented-reality) - 成熟语言 (
mature-language) - 运动数据 (
motion-data) - AI 聊天机器人 (
ai-chatbot)
请求其他权限
在玩家收到具有权限的会话后,他们可能希望允许其他权限。权限可能因以下原因被禁止:
- 他们低于默认启用权限的年龄阈值。
- 他们低于权限的绝对最低要求年龄。
- 权限只能通过父母/监护人的同意启用,并且在同意过程中未启用。
使用会话升级 API
/session/upgrade API 可用于启用其他权限。任何请求的权限,如果 managedBy 字段设置为 PLAYER,则立即启用。如果有权限的 managedBy 设置为 GUARDIAN,则会为可信成人创建一个挑战以完成同意权限更改。
请求示例
POST /api/v1/session/upgrade
Content-Type: application/json
Authorization: Bearer your-api-key
{
"sessionId": "608616da-4fd2-4742-82bf-ec1d4ffd8187",
"requestedPermissions": [
{
"name": "voice-chat"
}
]
}
带挑战的响应示例
如果权限需要监护人同意,响应包括挑战:
{
"status": "CHALLENGE",
"challenge": {
"challengeId": "683409f1-2930-4132-89ad-827462eed9af",
"oneTimePassword": "ABC123",
"type": "CHALLENGE_PARENTAL_CONSENT",
"url": "https://family.k-id.com/authorize?otp=ABC123"
}
}
不带挑战的响应示例
如果所有请求的权限都可以由玩家启用,响应包括更新的会话:
{
"status": "PASS",
"session": {
"sessionId": "608616da-4fd2-4742-82bf-ec1d4ffd8187",
"permissions": [
{
"enabled": true,
"managedBy": "PLAYER",
"name": "voice-chat"
}
]
}
}
请求父母同意
当需要可信成人同意来启用权限时,响应中会包含 challenge。此挑战可以通过使用二维码、OTP 或电子邮件与初始年龄门控流程类似地共享。更多信息,请参阅 挑战。
一个生活质量差异是可以在不指定电子邮件地址的情况下使用 /challenge/send-email API,API 会向最近为玩家批准权限的可信成人发送电子邮件。这使玩家能够在不自己指定电子邮件地址的情况下请求权限更改。您可以在调用 API 之前检查 Session 中的 hasApproverEmail 标志,以确定会话是否已有关联的电子邮件地址。如果未找到关联的电子邮件地址,/challenge/send-email API 会响应 INVALID_EMAIL 错误代码,您必须回退到另一种方法,例如提供二维码、OTP 或要求玩家输入其可信成人的电子邮件地址。
处理升级流程
- 检查权限:在请求升级之前,检查当前会话以查看哪些权限可用以及哪些需要监护人同意
- 请求升级:使用请求的权限调用
/session/upgrade - 处理挑战:如果返回挑战,遵循与初始 VPC 流程相同的工作流
- 更新会话:一旦授予同意,使用
/session/get检索更新的会话