跳到主要内容

自定义工作流

k-ID 的自定义年龄门控和可验证父母同意 (VPC) 工作流涉及多个步骤,确定玩家是否可以访问您的游戏以及他们拥有哪些权限。

工作流概述

下面的流程图显示了 k-ID Engine 工作流的视图。API 调用在工作流中使用它们的点处标识。

k-ID Workflow

注意:如果您有用户的 kuid,可以使用它来查找他们是否有游戏的会话。

工作流步骤

1. 获取年龄门控要求

使用玩家的司法管辖区调用 /age-gate/get-requirements 以确定:

  • 是否应显示年龄门控
  • 允许哪些年龄收集方法
  • 年龄阈值(数字同意年龄、民事年龄、最低年龄)
  • 是否需要年龄保证

2. 收集年龄(如需要)

如果需要年龄门控(shouldDisplay = true),使用该司法管辖区批准的方法收集玩家的年龄。

3. 检查年龄以访问

使用玩家的出生日期和司法管辖区调用 /age-gate/check 以确定下一步:

  • PROHIBITED:玩家低于最低年龄 - 阻止访问
  • CHALLENGE:玩家需要父母同意 - 创建挑战
  • PASS:玩家可以继续 - 创建或返回会话

4. 处理同意挑战(如需要)

如果创建了挑战:

  • 向玩家显示挑战(二维码、OTP、电子邮件输入)
  • 通知可信成人(如果提供了电子邮件)
  • 等待同意(通过 webhooks 或轮询)
  • 处理结果(如果授予同意则授予访问权限)

5. 获取会话

一旦授予同意或不需要同意,通过调用 /session/get 检索会话以获取玩家的权限和年龄状态。

6. 使用权限

使用会话权限根据每个权限的 enabledmanagedBy 字段控制对游戏中功能的访问。

账户系统集成

一些工作室有一个跨多个游戏的通用账户系统。在这些情况下,通常希望在账户创建流程中直接集成年龄门控并处理可验证父母同意 (VPC),以便玩家只需为来自同一发布商的所有游戏提供一次年龄。

进行此类集成时,有几个重要的考虑因素:

VPC 的产品上下文

如果所有游戏都需要账户才能玩,则可以从账户创建过程触发 VPC。但是,同意请求必须特定于游戏,以便父母知道他们同意什么。k-ID API 根据触发 VPC 时使用的 API 密钥确定在同意过程中应向父母呈现哪个产品。

实际上,将 k-ID 集成到账户系统中必须能够在账户设置时确定哪个游戏触发了账户创建过程,并将其映射到 k-ID API 密钥。

使用 kuid 访问 k-ID 会话

k-ID 为所有已获得某种形式的可信成人同意的玩家公开一个全局标识符,称为 kuid 或 k-ID 用户 ID。kuid 作为 Session 对象的属性返回。当跨多个游戏与账户系统集成时,当 Session 中存在 kuid 时,应将其与账户系统中玩家的身份关联。这允许通过调用 /session/get 仅提供 kuid 作为参数并使用正确产品的适当 API 密钥来检索任何 k-ID 产品的 k-ID 会话(如果存在)。

缓存多个产品的会话

与账户系统集成时,来自多个产品的会话会被缓存。Session 对象都可以通过使用 k-ID 产品 ID 作为键在账户系统中缓存为映射。当玩家尝试玩新游戏时,可以通过产品 ID 查询包含 Session 对象的映射,如果 Session 已经存在,则可以在没有进一步可信成人同意的情况下允许玩家继续。

账户级产品

配置 k-ID 的账户系统集成时,通常为每个游戏创建一个 k-ID 产品,然后在 Compliance Studio 中为账户系统本身创建一个单独的 k-ID 产品。这对于表示对所有游戏或账户本身通用或全局的任何权限和披露很有用。

当产品映射到账户系统时,这意味着对于每个游戏,都会检索两个 Session 对象,一个用于映射到游戏的 k-ID 产品,一个用于映射到账户系统的 k-ID 产品。k-ID API 通过 API 密钥限定到产品。必须使用正确的 API 密钥,具体取决于您是尝试访问映射到账户系统的 k-ID 产品还是游戏。