Widget.AgeGate.Result
当年龄门控流程完成并产生结果时发出。流程成功完成时会创建会话;每当流程需要挑战时,会为可验证的家长同意或在玩家申报的年龄足以跳过家长同意时的 Automatic age assurance 创建挑战。
字段
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
eventType | string | 是 | 始终为 "Widget.AgeGate.Result" |
data | object | 是 | 结果详细信息 |
data.status | string | 是 | 结果状态。为 "PASS"、"FAIL" 或 "PROHIBITED" 之一(参见状态值)。 |
data.sessionId | string (UUID) | 否 | 流程成功完成时的会话 ID。当 status 为 "PASS" 时始终存在,否则不存在。 |
data.challengeId | string (UUID) | 否 | 流程涉及挑战时的挑战 ID(例如家长同意或 Automatic age assurance)。仅在创建了挑战时存在。 |
data.age | number | 否 | 玩家在年龄门控中输入的年龄。当 status 为 "PROHIBITED" 时存在。 |
状态值
status | 含义 | 应对方式 |
|---|---|---|
PASS | 玩家通过了年龄门控,并已创建会话。存在 sessionId。 | 使用返回的 sessionId 授予访问权限。 |
FAIL | 流程所需的挑战未通过,例如受信任的成人拒绝了家长同意,或玩家未完成 Automatic age assurance。不会创建会话。challengeId 标识该挑战。 | 请勿授予访问权限。 |
PROHIBITED | 玩家未达到该产品在此管辖区的最低年龄,无法继续。不会创建会话。age 包含所输入的年龄。 | 阻止玩家继续。 |
请在服务器端确认结果
请将事件 status 视为 UX 提示。在授予访问权限之前,请通过 Challenge.StateChange webhook 或 /session/get 在服务器端确认结果。
示例
流程中解决了挑战时
{
"eventType": "Widget.AgeGate.Result",
"data": {
"status": "PASS",
"sessionId": "f1af4704-74b4-4966-b13a-18eb16bccf9c",
"challengeId": "a04467a0-83de-40ca-8572-8cc761e896aa"
}
}
不需要挑战时
{
"eventType": "Widget.AgeGate.Result",
"data": {
"status": "PASS",
"sessionId": "f1af4704-74b4-4966-b13a-18eb16bccf9c"
}
}
玩家未达到最低年龄时
不会创建会话。请阻止玩家继续。
{
"eventType": "Widget.AgeGate.Result",
"data": {
"status": "PROHIBITED",
"age": 8
}
}