寻求父母同意
在/age-gate/check
的status
字段返回值为CHALLENGE
的情况下,响应中的challengeId
字段包含k-ID引擎中的Consent Challenge
的ID。现在应显示一个窗口,允许玩家寻求父母同意。
同意挑战
同意挑战代表玩家的同意请求。有关同意挑战的其他信息由/age-gate/check
API返回。
/age-gate/check
API返回一个一次性密码,父母可以直接浏览 https://k-id.com/code 并输入此密码,以及一个可以呈现为二维码的URL。同意挑战窗口应显示二维码和一次性密码,以及一个输入字段,允许玩家输入可以授予同意的父母或监护人的电子邮件地址。
在显示同意挑战窗口后,游戏现在应定期调用/challenge/await
API,并传入/age-gate/check
响应中返回的挑战ID。父母已在家庭门户中收到同意请求,可以通过电子邮件消息、使用二维码或输入窗口上显示的URL并提供代码来批准。请求同意将在传入的超时参数值之后超时,最长为180秒。也可以传入0秒的超时,这不会阻塞,并将返回当前挑战的状态。调用返回后,如果挑战仍在等待中,则后续调用响应中的状态字段值将为POLL_TIMEOUT。如果已通过k-ID父母门户授予同意,则调用将返回状态为PASS,如果请求被拒绝,则返回状态为FAIL。
如果父母或监护人使用二维码或一次性密码在k-ID父母门户中授予同意,则游戏流程中无需执行其他操作。但是,应在本地存储中存储挑战ID,而挑战处于活动状态。当游戏启动时,如果存在活动挑战,游戏应返回并显示之前的同意挑战窗口。从本地存储中检索挑战ID后,应调用/challenge/get
API以检索有关当前挑战的信息,包括一次性密码和二维码URL,并再次向用户显示挑战窗口。
等待父母响应的时间
游戏必须确定等待授予同意的时间以及如果该时间到期应采取的措施。持续时间的选择可以是短(10分钟)或更长(24小时或更长)。在此期间,可能会多次调用/challenge/await
API。在调用/challenge/await
之间,应至少延迟5秒。此外,/challenge/await
可能会返回HTTP代码429,并在HTTP响应中包含Retry-After
头。游戏在调用k-ID API时应始终检查此头。
同意挑战的到期
同意挑战应在7天后到期。
获取父母的电子邮件地址
如果授予了同意,并且/challenge/await
返回的status
字段值为PASS
,则父母的电子邮件地址将返回在approverEmail
字段中。游戏可以将其存储以供将来客户服务使用。
测试父母同意
可以在API中测试父母同意,而无需通过家庭门户的父母同意流程。为此,可以调用/test/set-challenge-status
来设置同意挑战的状态。您可以将状态分配为PASS
或FAIL
。您还必须传递age
和jurisdiction
作为主体的一部分。可以选择传递一个电子邮件,以在approverEmail
字段中返回。使用相同的challengeId
进行的下一次challenge/await
调用将返回您分配的信息。这使您能够在游戏中快速测试父母同意场景。