跳到主要内容

现已支持 Google Play Age Signals v0.0.4 `ageRangeSource`

对于 google-play 平台年龄信号,k-ID 现在接受 Google Play Age Signals v0.0.4 的 ageRangeSource 值作为 declarationType

新功能

  • google-play 信号上的 ageRangeSource Google Play Age Signals v0.0.4 已将 userStatus 替换为 ageRangeSource。调用年龄门控和会话端点时,请将 Google Play age signals responses 中的 ageRangeSource 值作为 PlatformAgeSignaldeclarationType 提供。
  • 已弃用的 userStatus 值仍然有效。 为保持向后兼容,k-ID 会继续接受使用旧版架构的商店的旧版 userStatus 值,因此来自尚未迁移的应用的信号不受影响。

文档

电子邮件年龄估计专用年龄验证端点

现在提供了专用端点 /age-verification/perform-email-age-estimation,用于仅以电子邮件年龄估计作为方式执行年龄验证,与现有的单一方式端点(ID、AgeKey、ConnectID)并列。

新功能

  • POST /age-verification/perform-email-age-estimation 绕过自动方式选择,仅使用电子邮件年龄估计验证用户。它接受与其他单一方式端点相同的请求结构(jurisdictionsubjectcriteria 以及可选的 options.redirectUrl / options.locale),并返回 idurlshortUrlsubject.email 字段为可选项;如果省略,用户将在托管的验证页面上提供其电子邮件。
  • 18 岁以上信号。 电子邮件年龄估计是一种 18 岁以上信号,而非精确的年龄估计。它只能确定主体是否年满 18 岁,无法区分更年轻的年龄段,因此将请求标准与该能力相匹配是您的责任。
  • 状态和结果不变。 照常轮询 /age-verification/get-status 或处理 Verification.Result webhook。

文档

现已支持 Apple iOS "confirmed" 年龄信号

对于 iOS 26.5 及更高版本的玩家,k-ID 现在接受 Apple 的 confirmed 声明类型作为已验证的平台年龄信号。

新功能

  • confirmed 是已验证的 Apple 声明类型。 从 iOS 26.5 开始,Apple 的 Age Range Service 仅返回 selfDeclaredguardianDeclaredconfirmed,其中 confirmed 表示年龄范围是通过信用卡或政府颁发的身份证件等经过审核的方式设置的。k-ID 将 confirmed 视为已验证,因此可以抑制年龄门控、满足验证阈值并记录 ageVerification
  • 已弃用的类型仍然有效。 Apple 弃用了 paymentCheckedgovernmentIDCheckedguardianPaymentCheckedguardianGovernmentIDChecked。为保持向后兼容,k-ID 会继续接受这些类型,因此来自早期 iOS 版本的信号不受影响。
  • selfDeclaredguardianDeclared 仍为未验证。 它们不能绕过年龄验证要求。

文档

小部件与年龄验证的移动集成指南

我们更新了文档,以阐明 k-ID 在移动端的最佳集成方式:对于年龄门控和同意步骤,原生构建的 UX 能为玩家提供最无缝的体验;而年龄验证和年龄保证 URL 等 Web 嵌入则通过系统浏览器组件显示。

新功能

年龄门控和端到端小部件的移动端指南

年龄门控端到端小部件在移动端受到完全支持。对于年龄门控和同意步骤,我们鼓励使用自定义工作流原生构建 UX 并遵循 CDK UX 指南,以获得最贴合品牌的体验。

k-ID API 返回的年龄验证和年龄保证 URL 采用相同的方式显示。有关具体端点和挑战类型,请参阅移动应用指南

重新编写的移动应用指南

移动应用指南已重新以年龄验证为中心,这是移动端最常见的 Web 嵌入:

默认浏览器方法

在移动端实现方法下,我们记录了默认外部浏览器方法。它在 Android(Intent.ACTION_VIEW)和 iOS(UIApplication.open)上均可使用,完全支持 AgeKeys,并通过 redirectUrl 回调将焦点返回到您的应用。

设备方向指南

年龄验证在竖屏方向下效果最佳。由于应用内浏览器界面会继承您应用的方向锁定,锁定横屏方向的应用应在默认外部浏览器中打开验证 URL。浏览器管理自己的方向,因此用户可以旋转到竖屏,并且当流程完成时 redirectUrl 回调会将他们返回到您的应用。

文档更新

后续步骤

  • 如果您在移动端集成,可以考虑使用自定义工作流CDK UX 指南原生构建您的年龄门控和同意 UX,以获得最无缝的体验
  • 在显示验证 URL 时,对锁定横屏的应用使用默认浏览器方法

Permanently erase a session with a new flag on /session/delete

/session/delete can now permanently erase a session instead of only revoking it.

What's new

  • hardDelete on POST /session/delete. Set to true to permanently delete a player session and its embedded consent, scoped to the calling product. Unlike the default revoke (which is internally retained), this physically removes the record and can't be undone.
  • Opt-in per developer. Available only to developers explicitly enabled for hard delete. Setting hardDelete: true without enablement returns FEATURE_DISABLED.
  • Every existing call is unaffected. Omitting hardDelete, or setting it to false, behaves exactly as /session/delete always has: a reversible revoke.
  • In-flight challenges are failed too. Any pending challenge tied to that exact session is set to FAIL, scoped to that session only (other sessions for the same player are untouched).

Documentation

信用卡专用年龄验证端点

现在提供了专用端点 /age-verification/perform-credit-card-verification,用于仅以信用卡作为方式执行年龄验证,与现有的单一方式端点(ID、AgeKey、ConnectID)并列。

新功能

  • POST /age-verification/perform-credit-card-verification 绕过自动方式选择,仅使用信用卡验证用户。它接受与其他单一方式端点相同的请求结构(jurisdictionsubjectcriteria 以及可选的 options.redirectUrl / options.locale),并返回 idurlshortUrl
  • 成人(18 岁以上)保证。 信用卡验证是一种成人保证信号,而非精确的年龄估计。它最适合卡片所有权仅限成人的司法管辖区。
  • 状态和结果不变。 照常轮询 /age-verification/get-status 或处理 Verification.Result webhook。结果会将 credit-card 报告为验证 method

文档

自动年龄保证流程的重定向 URL

/age-gate/check 现在接受一个重定向 URL,k-ID 会在自动年龄保证挑战完成后跳转到该地址。此功能适用于无法使用基于 iframe 的结果处理程序的顶层浏览器切换场景(例如跳转到 k-ID 再返回的移动 webview)。

新功能

  • options.playerAgeAssurance.redirectUrl/age-gate/check 上传入 http(s) URL 或自定义方案的移动深层链接(例如 myapp://age-gate/return)。当玩家完成或关闭 CHALLENGE_AGE_GATE_AGE_ASSURANCE 流程后,k-ID 会重定向到该 URL,并将 challengeIdproductIdsessionIdPASS 时)和 statusPASSFAIL)作为查询参数附加。URL 上现有的查询参数会被保留。
  • 范围。 该选项仅对 CHALLENGE_AGE_GATE_AGE_ASSURANCE 生效。CHALLENGE_PARENTAL_CONSENT 不受影响,仍通过可信成人流程返回。
  • 在服务器端确认结果。 重定向查询参数只是 UX 提示。在授予访问权限之前,请将 Challenge.StateChange webhook 或 /challenge/get-status 作为可信来源。

文档

面向 AI 编码代理的官方 k-ID Agent Skills 套件

k-ID 现已发布官方 Agent Skills 套件 — 一组小巧、可组合的指令包,用于教 AI 编码代理如何在 k-ID 支持的所有司法管辖区(美国 COPPA、欧盟 GDPR-Kids、英国 AADC、英国《在线安全法》、巴西 ECA Digital、澳大利亚《在线安全法》/社交媒体最低年龄等)正确集成 k-ID。它适用于 35 多种 AI 编码工具,包括 Claude Code、Cursor、OpenAI Codex、GitHub Copilot 和 Gemini CLI。

新增内容

  • 八个聚焦技能 端到端地覆盖 k-ID 集成面:年龄门、家长同意、年龄验证与年龄保证(包括高风险权限的 verifiedAgeThreshold 流程)、会话与权限、webhook,以及针对服务端信任边界和移动端/原生的横切性辅助技能。
  • 跨司法管辖区设计。同一套技能即可支持 COPPA、GDPR-Kids、英国 AADC、英国 OSA、巴西 ECA Digital 和澳大利亚《在线安全法》的集成 — 司法管辖区差异通过 Compliance Studio 在服务端配置,而不是在客户端代码中分支。
  • 一键安装:Claude Code 通过插件市场一条命令完成;其他兼容工具使用一行 git clone
  • 开放标准 — 技能遵循 Agent Skills 规范,可与任何兼容的代理一起使用,而不局限于单一厂商。
  • 文档优先契约 — 技能仅编码集成模式和已知陷阱,API 形状链接回本文档站,因此永远不会与 API 脱节。

试试

了解更多

AI 产品快速入门指南

针对 AI 特化型产品的全新快速入门指南现已上线,同时在 Compliance Studio 参考中新增了 AI 权限类别。

新功能

  • AI 产品快速入门。 引导您完成 AI 产品的端到端集成:在 Compliance Studio 中配置 AI 权限、收集父母同意、控制 AI 功能、响应权限变更。
  • AI 权限类别。 权限参考现在列出了 AI 类别及其七个权限:ai-chatai-media-generationai-voice-modeai-memoryai-companion-chatbotai-media-uploadai-model-training

文档

速率限制文档

k-ID API 以及面向用户的年龄验证和家长同意流程的默认速率限制现已在专门的页面中提供。

新功能

  • API 速率限制。 对 k-ID API 的调用按产品进行限制:生产模式下为 500 RPS,测试模式下为 10 RPS。超出限制的请求将返回 HTTP 429 Too Many Requests
  • 年龄验证和家长同意流程速率限制。 面向用户的流程按产品进行限制:生产模式下为 100 RPS,测试模式下为 20 RPS。达到限制时,用户会看到流程内错误,提示其稍后再试(不会向您的服务器返回 429)。
  • 申请提升。 这些是默认值。如果您的产品需要更高的容量,请联系您的 k-ID 代表。
  • 更新了上线前检查清单。 CDK 和 AgeKit+ 上线前检查清单现在都明确提及速率限制,并链接到新页面,因为生产模式的上限明显高于测试模式。

文档