账户系统集成
一些工作室拥有跨多个游戏的通用账户系统。在这种情况下,通常希望在账户创建流程中集成年龄门控并直接处理可验证父母同意(VPC),这样玩家只需要为同一发布商的所有游戏提供一次年龄信息。
在进行此类集成时,有几个重要的考虑因素:
VPC的产品上下文
如果所有游戏都需要账户才能游玩,那么VPC可以从账户创建过程中触发。但是,同意请求必须针对特定游戏,以便父母知道他们同意的是什么。k-ID API根据触发VPC时使用的API密钥来确定在同意过程中应向父母展示哪个产品。
实际上,将k-ID集成到账户系统中时,必须能够在账户设置时确定是哪个游戏触发了账户创建过程,并将其映射到k-ID API密钥。
使用kuid访问k-ID会话
k-ID为所 有接受过某种形式父母同意的玩家公开一个全局标识符,称为kuid
或k-ID用户ID。kuid
作为Session
对象的属性返回。在与跨多个游戏的账户系统集成时,当kuid
在Session
中存在时,应将其与账户系统中玩家的身份关联。这将允许通过仅提供kuid
作为参数并使用正确产品的适当API密钥调用/session/get
来检索任何k-ID产品的k-ID会话(如果存在)。
当父母同意孩子游玩一个或多个产品时,每个已批准产品的注册webhook端点将以eventType
设置为Challenge.StateChange
的方式被调用。每个Session
对象都将为玩家拥有相同的kuid
。有关k-ID webhooks的更多信息,请参阅Webhooks页面。
多产品会话缓存
会话缓存在架构考虑中讨论。
在与账户系统集成时,来自多个产品的会话将被缓存。Session
对象都可以在账户系统中使用k-ID产品ID作为键的映射形式进行缓存。当玩家尝试游玩新游戏时,可以通过产品ID查询包含Session
对象的映射,如果Session
已经存在,则可以在没有进一步父母同意的情况下允许玩家继续。
账户级产品
在配置k-ID的账户系统集成时,通常为每个游戏创建一个k-ID产品,然后为账户系统本身创建一个单独的k-ID产品。这对于表示对所有游戏或账户本身通用或全局的任何权限和披露很有用。
当产品映射到账户系统时,这意味着对于每个游戏,将检索两个Session
对象:一个用于映射到游戏的k-ID产品,一个用于映射到账户系统的k-ID产品。k-ID API通过API密钥限定到产品。根据您是尝试访问映射到账户系统的k-ID产品还是游戏,必须使用正确的API密钥。