Play Integrity API:账号活动抢先体验计划 (EAP)

利用 Play 账号活动(Play Integrity API 中的新信号)建立更有效、更精细的防滥用策略。系统会根据商店活动情况和数量,以及设备上的账号年限,依级别显示账号活动。系统会在评估后返回当前用户会话的账号活动级别,而不会将其关联到用户或设备标识符。

什么是 Play 账号活动?

Play Integrity API 提供了一系列完整性信号,用于帮助应用和游戏开发者检测可能存在风险的欺诈性流量。参与这项抢先体验计划的开发者可将账号活动添加至其 API 响应,该响应中已包含设备、应用和账号许可判定结果。如果设备、应用或许可判定结果有问题,系统就不会评估账号活动。如果现有判定结果没有问题,账号活动就会返回一个级别。该级别根据商店活动是否存在、活动数量,以及设备上的账号年限来确定。该级别有助于应用区分可能的真实用户和可能的非真实流量(例如用于欺诈的账号、自动流量使用的账号或设备农场中使用的账号)。应用可以结合使用此信号以及其他信号来保护高价值或敏感操作。

加入抢先体验计划 (EAP) 的应用可针对当前用户会话获得以下任一账号活动级别:

  • UNEVALUATED:系统因设备不受信任或用户没有 Play 应用许可而不评估账号活动。
  • UNUSUAL:设备上至少有一个用户账号的 Google Play 商店活动异常。Google Play 建议检查这是否是真实用户。
  • UNKNOWN:设备上的用户账号在 Google Play 商店中没有足够的活动。该账号可能是新账号,或是在 Google Play 上缺少活动。
  • TYPICAL (BASIC):Google Play 商店活动是设备上的一个或多个用户账号的典型活动。
  • TYPICAL (STRONG):Google Play 商店活动是设备上的一个或多个用户账号的典型活动,但具有较难复制的信号。

将账号活动作为防滥用策略的一部分

账号活动最好与其他信号结合使用作为整体防滥用策略的一部分,而不是作为单独的防滥用机制使用。请将此信号与 Play Integrity API 以及应用适用的其他安全最佳实践结合使用。

收集遥测数据并了解受众群体,再采取行动

在根据账号活动或其他 Play Integrity API 判定结果更改功能之前,请先实现该 API,但不进行违规处置,以了解现有受众群体的当前状况。了解当前安装群体返回的级别后,就可以预估计划采取的任何违规处置的影响,并相应地调整防滥用策略。

对访问高价值或敏感功能的风险流量进行查验

确定应用或游戏中的高价值或敏感操作,以通过 Play Integrity API 进行保护,而不是直接拒绝用户访问应用或游戏。在可能的情况下,请先对存在风险的流量进行查验,然后再允许执行高价值操作。例如,当账号活动级别为 UNUSUAL 时,您可能需要执行第二重验证机制,才能允许用户完成受保护的操作。

规划用户支持

请尽可能为用户提供实用的错误消息,并告知应采取哪些措施来修正问题,例如重试、启用互联网连接或检查 Google Play 商店应用是否为最新版本。Google Play 会定期更新账号活动评估。新的商店活动可以在这些定期更新期间自动更改用户的级别。

遵循针对 Play Integrity API 的现有建议

除上述做法外,请阅读 Play Integrity API 的安全注意事项

抢先体验 Play Integrity API 账号活动

您可以按照以下步骤开始使用账号活动。

第 1 步:查看以下重要注意事项

  • 账号活动目前还在积极开发中,可能会发生变化。
  • 账号活动仍属于机密内容。请勿向最终用户提供其账号活动或账号活动级别的相关信息。
  • 使用账号活动即表示您同意 Google Play 开发者分发协议Play Integrity API 服务条款中的条款。
  • 参与抢先体验计划的开发者在调整违规处置策略之前,应先评估账号活动信号,并针对评估结果向 Google Play 提供反馈和信息。

第 2 步:申请加入 Play Integrity API 账号活动 EAP

加入了 Google Play 游戏合作伙伴计划的开发者会自动获得对账号活动 EAP 的访问权限,并可跳至第 3 步。

其他开发者可以发送电子邮件至 integrity-api-eap@google.com 表达对加入抢先体验计划的兴趣,并提供以下信息:

  • 您的软件包名称和开发者账号 ID。
  • 确认您已阅读有关账号活动的建议做法。
  • 您打算如何评估账号活动,以及打算如何使用账号活动(如果您已有想法)。
  • 如果您获准加入账号活动抢先体验计划,您预期的时间表。

目前,我们只接受达到 Google Play 的大规模性能阈值且账号信誉良好的开发者。

第 3 步:通过 Google Play 管理中心在 Integrity API 响应中开启账号活动

获准加入抢先体验计划后,您会在 Play 管理中心的“Integrity API”页面上看到一个用于将账号活动添加至 Play Integrity API 响应的新选项。准备就绪后,即可在 Play 管理中心开启账号活动:

  1. 登录 Play 管理中心。
  2. 选择将使用账号活动的应用。
  3. 在左侧菜单的版本部分中,前往应用完整性
  4. 点击 Play Integrity API 旁边的设置
  5. 在该页面的响应部分中,点击账号活动旁边的开启
  6. 在随即显示的窗口中,点击开启

当您开启或关闭账号活动时,系统会删除您在 Play 管理中心设置的任何 Play Integrity API 测试响应,您必须重新创建这些响应。

第 4 步:将 Integrity API 集成到您的应用和应用的后端服务器

如果尚未这样做,请按照相关文档中的说明将 Play Integrity API 集成到您的应用和应用的后端服务器。

第 5 步:使用账号活动

启用后,Play Integrity API 载荷中的 accountDetails 字段会包含新的账号活动信号,该信号代表与设备上的用户账号相关联的活动。

accountDetails: {
  // Represents the licensing status of the user session.
  // This field can be LICENSED, UNLICENSED, or UNEVALUATED.
  appLicensingVerdict: "LICENSED"

  // Represents the activity level associated with the user accounts on
  // the device of the user session.
  accountActivity: {
     // This field can be UNEVALUATED, UNUSUAL,
     // UNKNOWN, TYPICAL_BASIC, TYPICAL_STRONG
     activityLevel: "UNUSUAL"
  }
}

accountActivity 可以具有以下值:

UNUSUAL
设备上至少有一个用户账号的 Google Play 商店活动异常。
未知
设备上的用户账号在 Google Play 商店中没有足够的活动。该账号可能是新账号,或是在 Google Play 上缺少活动。
TYPICAL (BASIC)
Google Play 商店活动是设备上的一个或多个用户账号的典型活动。
TYPICAL (STRONG)
Google Play 商店活动是设备上的一个或多个用户账号的典型活动,但具有较难复制的信号。
UNEVALUATED

由于不满足必要要求,系统不会评估账号活动。

导致这种情况的原因可能有多种,其中包括以下原因:

  • 设备不够可信。
  • 设备上安装的应用是 Google Play 未知的版本。
  • 用户未登录 Google Play。
  • 用户没有访问应用所需的许可。

如需检查设备上的用户账号是否具有异常的账号活动,请验证 accountActivity.activityLevel 是否符合预期,如以下代码段所示:

Kotlin

val requestDetails = JSONObject(payload).getJSONObject("accountDetails")
val accountActivity = requestDetails.getJSONObject("accountActivity")
val activityLevel = accountActivity.getString("activityLevel")

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

Java

JSONObject requestDetails =
    new JSONObject(payload).getJSONObject("accountDetails");
JSONObject accountActivity =
    new JSONObject(requestDetails).getJSONObject("accountActivity");
String activityLevel = accountActivity.getString("activityLevel");

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

第 6 步:测试与账号活动的集成

您可以通过可用的 Play Integrity API 测试功能创建测试,以评估 Play Integrity API 中的账号活动级别与应用的互动方式。有关使用此测试功能的说明,请参阅 Play 管理中心帮助中心

第 7 步:向 Google Play 提供抢先体验反馈

我们希望抢先体验计划的参与者能够对账号活动提供反馈。如需提供反馈,请发送电子邮件至 integrity-api-eap@google.com。我们的开发者调研团队也会与您联系,安排访谈事宜。我们希望了解以下信息:

  • 账号活动级别与应用或游戏的已知滥用账号之间的关联的准确度如何?
  • 账号活动的受众群体分布和其他 Play Integrity API 判定结果是否符合您的预期?
  • 您希望通过账号活动和其他 Play Integrity API 判定结果解决哪些滥用问题?
  • 您打算根据账号活动和其他 Play Integrity API 判定结果更改什么功能?

其他 Play 完整性工具

还可以考虑在防滥用策略中使用以下其他完整性保护工具: