跳到主要内容

玩家位置和年龄

为了实现 k-ID 年龄验证和同意工作流程,游戏必须获取有关玩家的两项信息:玩家的位置(或司法管辖区)以及玩家的出生日期。

位置

虽然玩家可以自行声明其位置,但获取位置信息的首选方法是调用游戏中的服务,该服务通过玩家的 IP 地址提供信息。位置字符串可以是 ISO 3166-1 alpha-2 国家代码(例如 US)或 ISO 3166-2 子区域代码(例如 US-CA)。建议尽可能提供子区域代码,因为即使某个地区当前没有本地化法规,将来也可能会有。通过提供子区域代码,可以确保随着法规的变化调整玩家的权限。

注意事项:

  • 某些游戏可能已经实施了检测和防止位置欺骗的保护措施(例如通过 VPN)。请确保发送到 k-ID API 的位置已经过这些工具验证,以避免配置错误。
  • 作为最佳实践,当玩家首次启动游戏时,其司法管辖区被认为是静态的,除非客户提交支持请求,否则无法更改——这样可以避免玩家通过"论坛购物"启用其司法管辖区中本应被禁用的功能。

获取玩家 IP 地址位置的一个示例是调用类似 https://ipapi.co/json 的服务,其结果类似于以下 JSON:

{
"ip": "76.22.71.171",
"network": "76.22.68.0/22",
"version": "IPv4",
"city": "Issaquah",
"region": "Washington",
"region_code": "WA",
"country": "US",
"country_name": "United States",
"country_code": "US",
"country_code_iso3": "USA",
"country_capital": "Washington",
"country_tld": ".us",
"continent_code": "NA",
"in_eu": false,
"postal": "98027",
"latitude": 47.4998,
"longitude": -122.0086,
"timezone": "America/Los_Angeles",
"utc_offset": "-0800",
"country_calling_code": "+1",
"currency": "USD",
"currency_name": "Dollar",
"languages": "en-US,es-US,haw,fr",
"country_area": 9629091.0,
"country_population": 327167434,
"asn": "AS7922",
"org": "COMCAST-7922"
}

出生日期

出生日期是一个字符串,可以采用以下任意格式提供给 API:YYYYYYYY-MMYYYY-MM-DD。是否要求游戏玩家在首次开始游戏时提供年龄取决于司法管辖区。如果司法管辖区要求玩家提供年龄,则应显示一个用户界面元素以收集出生日期,这被称为 年龄门

image

显示年龄门时的最佳实践是显示一个"中性年龄门",即不预设任何年龄值,用户必须手动设置年龄。此外,如果年龄门使用滑块选择年龄值,ESRB 建议滑块年龄门中的最大年龄应为 35。

如果当前司法管辖区不需要显示年龄门,玩家可以直接继续,无需进一步检查,其出生日期将未分配。

确保玩家年龄

在允许的司法管辖区中,可以使用 k-ID 面部年龄估算功能来估算玩家的年龄,以确定其是否与玩家在年龄门中提供的出生日期相符。使用面部年龄估算将显著提高玩家年龄真实性。采用此方法时,需要处理以下几种情况:

  • 面部年龄估算的年龄范围包含或高于玩家提供的出生日期。在这种情况下,可以使用提供的出生日期。
  • 年龄范围低于玩家声明的年龄。在这种情况下,建议假设年龄范围中的最低年龄。用户应被告知其年龄不匹配,然后可以要求玩家重新声明在范围内的较低年龄,或对年龄估算提出申诉。