使用自动保护功能防止未经授权的再分发行为,并提示用户前往 Google Play 下载您的应用

Google Play 的自动保护功能有助于保护您的应用和游戏,防范未经授权的再分发和盗版行为。如果用户从未知分发渠道获取您的受保护应用,系统会提示他们从 Google Play 获取您的官方应用。自动保护功能在没有数据连接的情况下也可保护您的应用。此功能可在 Play 管理中心一键开启,无需开发者在测试前做任何工作,也无需进行后端服务器集成。

运作方式

自动保护功能可为您的应用添加以下功能:

安装程序检查

自动保护功能可在应用打开时,将 Google Play 安装程序检查功能添加到应用代码中,以便在运行时进行检查。如果未能通过安装程序检查,系统会提示用户通过 Google Play 获取应用。

优势:此功能有助于更多用户从 Google Play 获取您的官方应用更新。

防篡改

注意:此功能仅面向部分 Play 合作伙伴提供。

自动保护功能可以为应用代码添加运行时检查机制,以检测修改行为,并使用先进的混淆技术来防止这些检查被移除或逆向工程。如果检查失败,系统会提示用户从 Google Play 获取您的应用,否则应用将无法运行。

优势:与 Google Play 安装程序检查功能结合使用时,防篡改功能可防止攻击者通过未经授权的修改、重新打包、再分发和盗版行为绕过您的分发或变现偏好设置。

注意:防篡改功能并不能保证防范所有修改和再分发行为。不过,该功能可令上述行为实现起来更为复杂、成本更高,从而降低相应行为取得成功的可能性。Google Play 会不断增强防篡改功能,使新版应用能够自动获得最新、最强大的保护。

与 Google Play 分享应用遥测数据(例如匿名化环境和性能数据)有助于我们提高防篡改保护功能的弹性和性能。您可以前往“自动保护设置”页面(测试和发布 > 应用完整性,然后向下滚动到自动保护),关闭“与 Google 分享应用遥测数据”,以停止分享应用遥测数据。详细了解我们如何使用数据来开发 Google 服务。

设置

下面的步骤介绍了您需要执行哪些操作才能开始使用自动保护功能。

前提条件

自动保护功能要求 Google Play 代表您创建经过修改的 APK 并为其签名,因此您必须:

另请注意以下事项:

  • 若要使用自动保护功能,应用的最低目标 API 级别必须为 21 或更高。
  • 自动保护功能可在离线状态下使用。不过,如果设备上的 Play 商店应用长时间处于离线状态,则安装程序检查功能会定期要求您建立数据连接。
  • 自动保护功能取代了 Play Licensing 库。
  • 在您将应用上传到内部应用分享部分时,系统不会应用保护机制。请务必仅与可信任的团队成员分享内部应用分享链接,而不要对外分享不受保护的版本。
  • 自动保护功能与 app bundle 的代码公开透明机制不兼容。

防篡改功能的其他前提条件

注意:此功能仅面向部分 Play 合作伙伴提供。

如需使用防篡改功能,您的应用必须符合以下要求:

  • 最低目标 API 级别不低于 API 级别 23。以 midSDKVersion 23 及更高版本为目标平台的设备在活跃 Android 设备中的占比将超过 99%。
  • 以下列某个 ABI 为目标:x86、x86_64、armeabi-v7a 和 arm64-v8a。如需更新应用的目标 ABI,请更新 Gradle 设置。您可从定位条件中移除没有活跃 Android 设备在使用的其他 ABI,不会影响应用的可用性。
第 1 步:开启保护功能

按照“准备工作和发布版本”的第 1 步中所述的方法创建发布版本。

您可在创建发布版本时开启保护功能(如准备工作和发布版本第 2 步中所述),也可在应用完整性页面(测试和发布 > 应用完整性)中开启保护功能,该页面包含可帮助您确保用户以您预期的方式来体验应用和游戏的完整性和签名服务

准备发布版本时,您会看到一个显示获取完整性保护管理完整性保护的按钮。然后,您可以在“自动保护”下方点击是,开启,以开启完整性保护。随后 Google Play 会为您的发布版本签名,并添加完整性保护,从而限制篡改应用和未经授权分发应用的行为。这表明自动保护功能已开启。

完成发布版本的准备工作,然后保存您所做的更改。

第 2 步:测试受保护的应用

通过各个测试轨道测试受保护的应用版本,以确保该功能不会对用户体验或性能产生意外影响。

建议您在测试评估项目中添加以下操作:

  • 测试游戏的启动过程,看看是否会出现启动时发生崩溃以及启动速度减慢的问题。

如果您在测试过程中发现问题,可以选择关闭自动保护功能。建议您不要将不受保护的版本推进到开放式轨道或正式版轨道。

如需为单个发布版本关闭完整性保护功能,请按以下步骤操作:

  1. 准备发布版本时,点击管理完整性保护
  2. 在“自动保护”下方,选择旧版保护功能为此版本关闭保护
  3. 保存您所做的更改。所做更改将应用于此发布版本。当您下次上传发布版本时,该发布版本将再次获得最强的新版保护。
第 3 步:将应用推进到正式版轨道

准备就绪后,您可以在 Play 管理中心将发布版本发布到正式版轨道,从而面向所选国家/地区的所有 Google Play 用户发布受保护的应用。

量身定制用户通过自动保护提示访问的商品详情

如果用户通过非官方渠道获取您的应用,自动保护功能会提示用户前往 Google Play 下载您的应用。当用户点按该提示时,系统会将用户重定向到您的商品详情页面,用户可以在该页面中点按“安装”(或者“购买”或“更新”)按钮从 Play 获取您的应用,从而将应用添加到用户的 Play 内容库。

您可以为点按提示的所有访问者自定义商品详情资源,包括应用的名称、图标、说明和图形资源。为此,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(测试和发布 > 应用完整性)。
  2. 滚动到“自动保护”部分。
  3. 点击设置
  4. 滚动到“自定义商品详情”部分。
  5. 点击创建商品详情
  6. 按照创建自定义商品详情页面上的说明操作,然后点击保存

或者,您也可以直接在自定义商品详情页面中为自动保护提示创建自定义商品详情:

  1. 打开 Play 管理中心,然后前往自定义商品详情页面(扩大用户群 > 自定义商品详情)。
  2. 点击创建商品详情,选择“创建新商品详情”或“复制现有商品详情”,然后点击下一步
  3. 在“商品详情”部分中,滚动到目标受众群体
  4. 选择按网址,然后在文本框中输入“playintegrity”。
  5. 填写所有其他详细信息,然后点击保存

提示:网址参数“playintegrity”是专为完整性深层链接预留的特殊关键字,因此在设置自定义商品详情时,您必须按原样输入该参数,且不得更改。

关于防篡改的推荐做法

注意:此功能仅面向部分 Play 合作伙伴提供。

请遵循以下推荐做法,充分利用 Google Play 的防篡改功能:

混用防篡改解决方案时需格外谨慎

自动保护功能可能与其他运行时防篡改解决方案不兼容,因此如果您尝试同时使用这些解决方案,可能会导致用户遇到问题。如果您的应用会执行其他运行时检查,请务必先对受保护的应用进行全面测试,然后再将应用发布到开放式轨道。

不发布不受保护的应用版本

如果您将不受保护的版本发布到开放式轨道,或通过 Google Play 之外的其他渠道发布此类版本,应用保护机制将失去应有的作用。为了让应用的完整性保护功能正常发挥作用,只有受保护的应用版本才适合发布到开放式轨道和正式版轨道。

测试受保护的应用

Google Play 会自动在所有轨道分发受保护的 build:内部测试轨道、封闭式轨道、开放式轨道和正式版轨道。您应照常对这些版本进行全面测试。具体而言:

  • 测试游戏的启动过程,看看是否会出现启动时发生崩溃以及启动速度减慢的问题。
  • 测试您的原生代码 (C/C++) 回调至 Java(在您自己的代码库或第三方代码库中)的情况,例如广告、日志记录、社交集成、身份验证,或者权限处理等 Android 专用功能。

如果您在测试过程中发现问题,可以选择还原到可能已在上一版本中使用过的旧版自动保护功能,也可以关闭自动保护功能。建议您不要将不受保护的版本推进到开放式轨道或正式版轨道。

如果您将应用的 build 直接上传到内部应用分享部分,Google Play 不会添加保护。这是为了让您可以通过内部应用分享功能上传调试 build 及其他类似 build。

监控崩溃问题

如果您发现应用的崩溃次数有所增多,这可能是由于应用保护机制发挥作用而导致的;这可能表明自动保护功能在正常运行。如果攻击者试图修改您的应用,但未成功,运行时检查会让该应用停止运行,而这主要通过让应用崩溃来实现。

未归因于 Google Play 的崩溃不会影响您的 Android Vitals 稳定性指标。如果您使用其他工具分析崩溃情况(例如 Crashlytics),并且需要通过软件包名称来按安装来源过滤,Google Play 商店的软件包名称为“com.android.vending”。

如果您担心崩溃次数增多,产生了负面影响,可以向我们报告崩溃情况,并提供尽可能详细的信息。我们的团队会进行调查。如果我们确定崩溃情况与保护机制有关,便会回复您。

举报遭破解的应用版本

破解版本是指在以下情况下仍可运行的版本:经过了修改或在您要求只能通过 Google Play 安装的情况下,有人通过 Google Play 之外的其他渠道安装了该版本。

如果您发现应用的破解版本,可以向我们举报

相关内容

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
9683422950998834234
true
搜索支持中心
true
true
true
true
true
92637
false
false
false
false