目前,在Google Play上架应用的开发者们有一个普遍的感受:上架比写代码还难!在应用开发、更新及发布过程中,尤其是涉及用户数据和隐私的部分,稍有不慎就可能导致应用被下架,甚至封号。
很多开发者表示,明明是原生应用,不是马甲包/存在A/8面,还是被谷歌判为恶意软件下架封号了,以至于绝望吐槽 “我都不知道自己的应用会有什么隐藏功能,被谷歌给查出来了”。
今天跟大家聊一下一种可能被忽视的原因,即WebView调用JavaScript(JS)导致的恶意软件判定。
大家应该都非常清楚,谷歌对隐私政策的要求非常严格,尤其是在用户数据相关的部分。谷歌的政策中明确禁止某些情况下的JavaScript调用,特别是未经信任的网址。
以及任何涉及用户隐私信息的敏感权限(如定位、设备信息等)。
这意味着,如果开发者在WebView中使用了JS,就需要格外小心,避免向JS暴露原生接口,比如设备传感器等。
如果你的WebView可以通过JavaScript访问设备传感器、获取设备信息或用户隐私信息,那么这就算是暴露接口。因为JavaScript代码可以在不经过应用更新的情况下被动态修改,Google无法进行有效的审查和监管。
谷歌的政策非常严格,对于WebView中涉及到的交互行为,尤其是无法监控的高风险行为,会严厉打击、“一刀切”。因此,开发者不要试图指望通过WebView藏匿一些不合规的行为逃过审查。恰恰相反,这只会增加应用被下架的风险。
根据开发者们交流分享的经验来看,应用被判定为恶意软件的常见可能原因有这几种:
1. 代码量少,意图不明:提交的App代码量少,容易被Google识别为H5马甲包。
2. 加载访问不受信任的URL:WebView中加载了未经信任的URL,或者使用HTTP协议。
3. 访问敏感权限:通过JS方法获取设备信息或用户隐私信息(如设备ID)。
4. 功能太简单:应用的功能过于简单,审核时可能被判为行为不透明。
5. 行为高风险:Google现在对无法监控的行为进行严打,高风险行为直接导致应用被判定为恶意软件。
很多开发者在面对应用被下架或封号的情况时,认为自己并没有做错什么,去申诉。但Google并不会告诉你具体的问题出在哪里,只会回复你查看开发者开发协议政策。
与其事后申诉,不如事前预防,大家应仔细分析Google的政策,寻找可能的问题所在。
总的来说,如果你不知道为啥应用莫名其妙被判为恶意软件,可以往JS这方面找找原因,严格遵守Google的隐私政策,确保应用的行为透明且合规,才能降低被判定为恶意软件的风险。
希望上述内容能够帮助开大家更好地理解谷歌的审核标准,避免常见的误区和错误,提高应用上架的成功率。遇到问题了,也可以多与同行交流经验,避免踩坑。