Account System Product
我们已发布 Account System Product(账户系统产品)。该能力允许您组织的中央账户或平台产品使用单一 API 密钥和可选请求头,代表组织内其他产品创建认证挑战和会话。
新功能
Account System Product
在 Compliance Studio 中将某产品启用为 Account System Product 后,您可以通过在请求中携带 Kid-Target-Product-Id 头(值为目标产品 ID),代表同一组织内其他(非账户系统)产品调用特定 k-ID API。您使用 Account System Product 的 API 密钥即可,无需按目标产品管理或轮换密钥。
支持的端点:
家长仅会看到目标产品的配置(通知、权限、品牌)。账户系统产品和目标产品都会收到每个事件的 Webhook,其中包含 onBehalfOfProductId 和 initiatedByProductId,便于您区分跨产品流程。
Account System Product 可与多产品批准配合使用:您可以将 Account System Product 设为目标产品的必备产品,这样家长在一次流程中即可同时批准两者。
文档
- Account System Product – 实现指南、配置步骤、Webhook 载荷与安全说明
附加法律链接与 Check age gate 的 options
我们已补充 附加法律链接(Developer Details)及 Check age gate API 的 options 参数说明,便于在同意流程中展示平台相关法律文档(如 Xbox、PlayStation、Steam)。
新功能
附加法律链接(Developer Details)
在 Compliance Studio 的产品 Developer Details 标签页中,可添加在同意流程中显示的可选 附加法律链接:
- 标题与链接:本地化显示标题与 URL(与主法律文档相同的语言选项)。
- 变体 ID:调用 Check age gate API 时使用的标识符(如
xbox-tos、playstation-privacy-policy)。当始终显示为关时必填。 - 始终显示:开(默认)时,该链接在同意流程中始终显示。关时,仅当您的游戏在
options中传入对应变体 ID 调用年龄验证 API 时才显示。
当游戏在多个平台分发且各平台需使用不同法律文档 URL 时可使用此功能。
Check age gate API — options 参数
POST /api/v1/age-gate/check 的请求体现支持可选的 options 对象:
- termsOfServiceDocument:服务条款变体 ID(须与已配置的附加法律链接一致)。
- privacyPolicyDocument:隐私政策变体 ID(须与已配置的附加法律链接一致)。
当创建挑战时,同意界面将显示所请求的法律链接,而非产品默认的 Privacy Policy 与 Terms of Service。
文档
- Developer Details — 基本信息(含附加法律链接)
- Check age gate(请求体与 CheckAgeGateRequestOptions)
验证 URL 有效期与 get-status 文档
我们更新了年龄验证文档,补充了 URL 有效期、过期 URL 处理及状态查询说明。
新功能
- URL 有效期:验证 URL 自创建起 2 周内有效。过期时间位于 JWT 的
token查询参数中,可使用标准exp声明判断 URL 是否仍有效。 - 过期 URL:使用保存的验证 ID 调用
/age-verification/get-status。若未找到该验证,请创建新的验证。 - 不依赖 URL 查询状态:使用验证 ID 调用 get-status 可随时查询状态(例如 URL 过期后或未收到 webhook 时)。
- 保留期限:超过 2 周仍为
PENDING的验证会被删除,get-status 将不再返回。
更新的文档
Age Gate Widget 重定向 URL 支持
我们已为 Age Gate Widget 端点添加了 redirectUrl 作为可选参数。
新功能
Age Gate Widget API 更新
/widget/generate-age-gate-url 端点现在支持在 options 对象中使用可选的 redirectUrl 参数。这允许您指定在 Age Gate Widget 完成后重定向到的 URL,类似于端到端 Widget 端点。
redirectUrl 参数支持 HTTP/HTTPS URL 或具有自定义协议方案的移动端深度链接。
更新的 API
验证文档更新
我们已更新验证文档,改进了方法字段描述并澄清了指导。
新功能
Verification Result 文档
更新了 Verification.Result Webhook 文档:
- ageCategory 指导: 明确了 PASS 状态时
ageCategory始终存在,应将其用于访问控制决策,而不是使用原始年龄值 - 方法字段更新:
- 从方法字段列表中移除了
self-confirmation和email-confirmation - 更新了
age-estimation-scan的描述,表明它是返回年龄范围的面部年龄估计扫描(无 DOB)
- 从方法字段列表中移除了
更新的文档
Widget.ExitReview 澄清和 API 更新
我们已澄清何时关闭年龄验证和 VPC 流程的窗口小部件 UI,并在 MegaWidgetOptions 架构中添加了 redirectUrl 支持。
新功能
Widget.ExitReview 澄清
我们已更新文档,明确 Widget.ExitReview 是应确定何时关闭年龄验证和 VPC 流程 UI 的信号。
更新的文档:
- 年龄验证指南 - 添加了有关监听
Widget.ExitReview以关闭验证 UI 的指导 - VPC 指南 - 添加了有关监听
Widget.ExitReview以关闭 VPC 窗口小部件 UI 的指导 - CDK 嵌入式流程 - 添加了有关监听
Widget.ExitReview以关闭窗口小部件 UI 的指导
所有语言版本(英语、日语、简体中文和韩语)均已更新此澄清。
API 更新
MegaWidgetOptions 中的 redirectUrl
MegaWidgetOptions 架构现在包含 redirectUrl 支持,与年龄验证请求架构一致。这允许您在使用端到端窗口小部件时指定重定向 URL。
更新的架构:
MegaWidgetOptions现在包含对#/components/schemas/RedirectUrl的引用的redirectUrl字段
此更改在所有 OpenAPI 规范文件(英语、日语、简体中文和韩语)中可用。
文档改进
产品图片规格
为 Compliance Studio 的产品图片添加了推荐的宽高比和分辨率:
- Logo: 1:1(正方形),512×512px
- Banner: 3:1(横向),2430×810px
FAIL状态Webhook事件现在包含ageCategory
我们已更新Verification.Result Webhook事件,当年龄数据可用时,在FAIL状态事件中包含ageCategory字段。
新功能
FAIL状态事件中的ageCategory
ageCategory字段现在包含在Verification.Result Webhook事件的FAIL状态中,当满足以下条件时:
failureReason为age-criteria-not-met- 年龄数据可用(
age.low和age.high都存在)
这提供了更完整的用户年龄类别信息,即使由于年龄标准未满足而导致验证失败,也能在保持明确访问控制边界的同时,实现更好的分析和日志记录。
文档更新
Verification.Result文档已更新以反映此更改:
- 字段表:更新描述以澄清FAIL状态时
ageCategory何时存在 - 主要差异表:澄清Webhook事件与API端点中
ageCategory何时存在 - FAIL状态字段存在规则:更新为在特定条件下将
ageCategory显示为"有时包含" - 完整字段矩阵:更新为在Webhook的FAIL状态中将
ageCategory显示为"sometimes²" - 示例负载:在FAIL状态示例中添加
ageCategory以演示新行为 - 实现检查清单:更新了处理FAIL状态中
ageCategory的指导 - 实现说明:澄清了PASS和FAIL两种状态中
ageCategory的行为
重要提示
- 访问控制:即使FAIL状态事件中存在
ageCategory,也永远不要将其用于访问控制决策。始终使用status字段来确定访问权限。 - 一致性:此更新适用于Webhook事件和API端点响应
- 语言支持:所有语言版本(英语、日语、简体中文和韩语)已更新
下一步
- 查看更新后的Verification.Result文档
- 如果需要,更新您的集成以处理FAIL状态事件中的
ageCategory - 请记住:当状态为FAIL时,即使字段存在,也永远不要将
ageCategory用于访问控制。仅将其用于分析、日志记录或信息目的。
新的会话和权限指南及文档更新
我们添加了一个全面的会话和权限管理指南,并更新了核心概念文档,添加了重要的说明。
新功能
新指南:管理会话和权限
我们添加了一个新的快速入门指南:管理会话和权限。本指南提供了以下步骤说明:
- 使用 Webhook 和会话比较检测权限更改
- 处理会话删除和撤销
- 向玩家传达权限更改
- 实现权限升级流程
- 了解挑战如何与会话相关
本指南对于需要随时间响应权限更改的任何集成都是必不可少的,例如当父母修改设置或玩家年龄增长时。
文档更新
会话文档
会话概念页面已更新,添加了重要说明:
- 会话 ID 持久性:玩家每个产品只有一个会话。会话 ID 在权限更改期间保持不变,但如果会话被撤销并再次完成同意流程,则会创建新的会话 ID。
- 会话删除行为:已删除的会话返回 HTTP 400,错误代码为
NOT_FOUND(不是 404)。这是有意的—已删除的会话应被视为从未存在过。 - 年龄升级更改:年龄升级事件不会触发 Webhook 通知。您必须使用会话比较来检测这些更改。
权限文档
权限概念页面已增强,包含:
managedBy字段更改:明确说明managedBy可能随时间变化(例如,当玩家年龄增长时从GUARDIAN变为PLAYER)。- 玩家管理的权限:当玩家通过
/session/upgradeAPI 请求启用PLAYER管理的权限时,它会自动启用而不会创建挑战。 - 权限升级内容:权限升级文档已合并到权限页面,以便更好地发现。
更改内容
合并的文档
- 权限升级概念页面已合并到权限页面。所有引用已更新为指向新位置。
后续步骤
- 查看新的管理会话和权限指南
- 确保您的集成正确处理会话删除(HTTP 400,错误代码为
NOT_FOUND)
如果您对这些更新有任何疑问或需要集成方面的帮助,请随时联系我们的支持团队。
Developer 角色和产品访问控制
我们在 Compliance Studio 中引入了新的Developer角色,具有产品级访问控制功能,使组织能够在不同产品和团队之间保持清晰的界限。
新功能
Developer 角色
Compliance Studio 现在提供新的Developer角色。具有 Developer 角色的用户可以管理产品和产品开发者设置,但仅限于已明确分配给他们的产品。
主要功能:
- 产品级访问控制:Developer 可以限制为仅访问组织内的特定产品
- 细粒度权限:每个 Developer 角色成员可以分配给各自的产品,从而实现产品级访问控制并维护组织边界
- 产品管理:Developer 只能管理分配给他们的产品的产品和产品开发者设置
成员访问管理
组织设置中新增了Member Access菜单,允许 Owner 和 Admin 为具有 Developer 角色的成员分配产品访问权限。
工作原理:
- 访问分配:Owner 和 Admin 可以使用 Member Access 菜单将特定产品分配给 Developer 角色成员
- 多产品分配:您可以将多个产品分配给单个 Developer
- 立即生效:产品访问分配立即生效