跳到主要内容

重要概念

要将 k-ID 集成到游戏中,需要完成以下步骤:

获取玩家位置和出生日期

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

位置

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

注意事项:

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

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

{
"ip": "136.62.180.67",
"hostname": "XX-XX-XX-XX.googlefiber.net",
"city": "Austin",
"region": "Texas",
"country": "US",
"timezone": "America/Chicago",
"readme": "https://ipinfo.io/missingauth"
}

出生日期

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

image

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

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

确保玩家年龄

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

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

处理未获得家长同意的未成年用户

如果玩家提供的年龄需要家长同意,游戏必须决定在家长同意之前的处理方式。可能的做法包括完全阻止访问并等待家长同意挑战界面,或提供游戏的“数据精简版”体验。

在以下示例中,玩家在显示同意挑战窗口时被阻止继续。

Challenge

将 k-ID 权限与游戏功能匹配

k-ID 全球合规数据库中的权限表示游戏功能的分类,这些功能在全球一个或多个司法管辖区的法规中有所涉及。权限在厂商门户中为游戏配置。与游戏功能匹配的每个 k-ID 权限都应在 k-ID 厂商门户中启用(如下图所示)。选择的 k-ID 权限将在家长为孩子授予游戏同意时呈现给家长,用于启用或禁用。

开发者门户权限

以下是家长在 k-ID 家庭门户中授予同意时看到的示例:

家庭权限

显示映射到 k-ID 权限的游戏功能时,应检查 Session,以确定功能是否启用,以及玩家是否允许启用该功能。有关如何处理 k-ID 权限的更多详细信息,请参阅文档中的权限部分。

下表列出了厂商门户中可管理的权限:

权限组Group权限Permission
ai-customizationai-generated-avatars
ai-chatbot
communicationtext-chat-private
voice-chat
video-chat
link-to-third-party-chat
communityforums
chat-rooms-public
join-groups
virtual-events
content-moderationmature-language
mods
content-sharinggameplay-streaming
gameplay-recording
share-game-clips-screenshots
link-to-third-party-streaming-app
game-controlshaptic-feedback
movement-speed-adjustment
smooth-locomotion
disable-boundary-settings
augmented-reality
gameplaymultiplayer
pvp
leaderboard-and-rankings
marketingdirect-marketing
targeted-ads
contextual-ads
notificationpush-notifications
disable-safety-prompts
privacyprofiling
motion-data
camera-access
real-time-location-sharing
photo-video-sharing
profile-customizationcustom-username
custom-avatar
profile-visibilitypublic-profile
online-status
recommendationspersonalized-recommendations
socialpublic-friend-list
send-accept-friend-requests
social-mediashare-to-social-media
link-to-social-media-account
virtual-economyin-game-purchases
in-game-currency
loot-boxes
send-gifts
auctions
virtual-property-ownership
virtual-marketplace