Play 的审核拒绝大多并不神秘。它们是跳过某项检查的必然结果——而这项检查在提交之前,控制台本就免费提供:预发布报告(pre-launch report)、数据安全表单、目标 API 级别规则。下面这份十项核对,用于在按下发布之前逐项走过一遍;内容以 Play 官方页面已公布的口径为准。

今天要解决的问题:核对发布产物(目标 API 级别、签名、版本号、是否可调试);核对合规材料(数据安全、内容分级、隐私政策、权限);核对商店素材;并真正读完 Play 为每一个上传到测试轨道的安装包自动生成的预发布报告。在用户见到这个版本之前,把它标出的问题修掉。


预发布报告究竟测什么

Play 的预发布报告页面把机制写得很直白:每次你把应用包或 APK 发布到测试轨道,都会自动收到一份预发布报告。Google 会在云端一批真实的 Android 设备上运行你的应用,并就不稳定、性能、无障碍和显示四类问题给出结果。

两条已公布的最佳实践,决定这份报告对你有没有价值:

Google 另外发布了一篇专门讲如何解读结果的帮助文章,报告页面也提供了一个几分钟的培训课程。在把一个红色标记当成误报之前先读那篇解读文章——同样,在为一个标记惊慌之前也先读它。


十项核对

1. 目标 API 级别

新应用与应用更新必须达到 Play 当前要求的目标 API 级别,且未达标是在控制台直接阻止提交,而不是给一个警告。Play 的目标 API 级别帮助页写明了当前的阈值与生效日期;Android Developers 的需求页从构建侧给出同一条规则。确认你的构建配置,而不是上季度的某条备注。

2. 签名与 Play 应用签名

发布用上传密钥签名、并已加入 Play 应用签名的产物。确认上传的包就是你想要的那一个——你测试过的那个产物,而不是平行分支里遗留的旧构建。

3. 版本号与版本名

版本号必须高于线上已有版本,并且能唯一标识这次发布。跨轨道复用同一个版本号,是把错误的构建发给错误受众的经典方式。

4. 不可调试,并开启压缩

发布构建不能是可调试的。开启代码压缩与资源压缩,让送达 Play 的产物就是你打算发布的产物,而不是一个顺带漏出调试标记的更臃肿的构建。

5. 数据安全与实际集成的 SDK 一致

数据安全表单是新开发者最常填不完整的一项,而问题几乎总出在某个 SDK 上。每一个会收集或共享数据的第三方库——统计、崩溃上报、推送、广告、登录——都必须在答案里体现。请照着依赖清单逐条走,不要凭记忆。

6. 隐私政策链接可用

隐私政策 URL 是必需的,而且必须能打开。死链,或者一份与数据安全答案相互矛盾的模板政策,都是迟早发生的拒绝——而一份承诺得比你的 SDK 实际行为更少的政策,比没有政策更糟。

7. 内容分级问卷

完成分级问卷并取得分级结果。如实作答:错误申报内容属于政策问题,不是文书问题。

8. 商店列表素材

图标、宣传图、截图、描述、联系方式。Play 对素材规格有明确公布——请核对当前数值,而不是沿用旧项目的做法。列表里的每一句宣传都必须与实际发布的构建一致。已下线的截图,以及为被砍掉功能许下的承诺,都是审核与信任风险。

9. 权限最小化且已申报

只申请应用真正使用的权限,并完成敏感权限要求的申报。合并清单里有一个没有任何功能需要的权限,既是隐私问题,也是政策问题。

10. 测试轨道与分阶段发布

先让构建走一遍测试轨道,在真机上安装一次,然后以小比例启动正式发布,观察 Android Vitals 之后再推到 100%。预发布报告在用户见到应用之前给你一份快照;分阶段发布则在快照漏掉问题时限制影响范围。


报告标出的问题,用大白话讲

这份报告不是分数,而是一份跨越 Google 所公布类别的发现清单——不稳定、性能、无障碍、显示。按分诊的方式处理:

如果报告停在登录界面,那反映的是你的测试配置,而不是你的应用。带上凭据重新上传一次。


一句话版本

发布之前:核对产物(目标 API 级别、上传密钥与 Play 应用签名、新的版本号、不可调试),补齐材料(与每个 SDK 对应的数据安全、可访问的隐私政策、已完成的内容分级、最小化且已申报的权限),把商店素材做完,并真正读完 Play 为你上传到测试轨道的构建生成的那份预发布报告——记得提供测试凭据,让抓取能走到真正的应用里。


来源