跳到主要内容

附加法律链接与 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-tosplaystation-privacy-policy)。当始终显示为关时必填。
  • 始终显示(默认)时,该链接在同意流程中始终显示。时,仅当您的游戏在 options 中传入对应变体 ID 调用年龄验证 API 时才显示。

当游戏在多个平台分发且各平台需使用不同法律文档 URL 时可使用此功能。

Check age gate API — options 参数

POST /api/v1/age-gate/check 的请求体现支持可选的 options 对象:

  • termsOfServiceDocument:服务条款变体 ID(须与已配置的附加法律链接一致)。
  • privacyPolicyDocument:隐私政策变体 ID(须与已配置的附加法律链接一致)。
  • additionalLegalLinks:与服务条款和隐私政策一起显示的附加法律文档变体 ID 数组(每个须与已配置的附加法律链接一致)。

当创建挑战时,同意界面将显示所请求的法律链接,而非产品默认的 Privacy Policy 与 Terms of Service。

文档

验证 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-confirmationemail-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状态中,当满足以下条件时:

  • failureReasonage-criteria-not-met
  • 年龄数据可用(age.lowage.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/upgrade API 请求启用 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
  • 立即生效:产品访问分配立即生效

更新的文档

边缘情况处理示例

我们已在年龄验证指南中添加了全面的边缘情况处理示例,并更新了验证事件契约以澄清字段存在规则。

新功能

边缘情况处理示例

瀑布流指南现在包含用于处理验证边缘情况的详细代码示例。每个示例都演示了错误和正确的处理模式。

新示例包括:

  • 部分尝试(超过最大尝试次数): 当用户在没有确定性年龄判定的情况下用尽所有验证尝试时,正确处理 max-attempts-exceeded 失败原因
  • 检测到可疑活动: 以安全为重点处理 fraudulent-activity-detected 失败原因,包括适当的速率限制和安全措施
  • 完整的边缘情况处理程序: 一个综合的 TypeScript 示例,演示所有模式

所有示例都直接链接到验证事件契约以获取完整的字段存在规则。

验证事件契约更新

验证事件契约已更新以澄清字段存在规则:

  • ageageCategory 在 PASS 状态时始终存在: 所有导致 PASS 的验证方法都提供年龄信息和年龄类别。在处理 PASS 状态结果时,您可以在没有条件检查的情况下安全地访问这些字段。
  • 年龄范围说明: 当验证方法未提供确切年龄时,age.low 将是验证所需的阈值最小年龄,age.high 将为 100。

更新的文档

移动应用集成指南和 ConnectID 测试更新

我们已添加了全面的移动应用集成文档,并增强了 ConnectID 测试资源,以帮助您将 k-ID 小部件集成到移动应用程序中。

新功能

移动应用集成指南

新的移动应用快速入门指南提供了将 k-ID 小部件集成到移动应用程序中的全面文档。该指南涵盖:

  • 平台特定的实现方法: Android(Custom Tabs、WebView、Trusted Web Activity)和 iOS(ASWebAuthenticationSession、SFSafariViewController、WKWebView)的详细指导
  • AgeKeys 支持: 关于哪些实现方法支持 AgeKeys 和 WebAuthn 的清晰文档
  • 结果通信: 接收小部件结果的两种方法—回调 URL(推荐)和 DOM 消息
  • 第三方应用验证流程: 关于 ConnectID 等验证方法如何通过第三方应用重定向的完整文档
  • 完整代码示例: iOS(Swift)和 Android(Kotlin)的分步实现示例,包含完整代码示例

ConnectID 测试增强

使用移动应用测试资源增强 ConnectID 测试文档:

  • 移动应用测试应用: 添加了 iOS(TestFlight)和 Android(Google Play)的 ConnectID Mock Bank C 测试应用链接,以验证移动应用程序中的完整重定向流程
  • 测试部分更新: 通过专门用于移动应用重定向流程测试的子部分扩展了 ConnectID 测试部分

更新的文档