Google开发者遭频繁封禁?APP买量损失惨重!个中缘由一文分析

Facebook和Google,是国内出海业务必须跨过的两座大山,Facebook掌管着全世界优质的用户流量, Google掌管着app的上架入口,而这两者又有着非常严密的审查机制,折磨着很多开发者。

Google Play 的app上架一般是出海要解决的第一个问题,其实接触过Google Play的开发者应该都有所体验,上架容易在架难,上架成功只是红军长征的第一步,保证长久在架才是最难的。

常有人问我,有没有什么方法是可以万无一失,确保能长久在架的。

有时候确实有一些方法,能钻谷歌的漏洞,让app的在架时间尽可能长一些,但谷歌的风控也一直在学习、进步、升级,就像一套AI智能系统,不断的查bug,修bug,毕竟这是谷歌吃饭的家伙,以谷歌的技术水平,只要想做也没什么是它做不到的。

本期主要是给大家科普一下,为什么你的APP会被关联下架以及到底怎么避免关联下架。

Google的关联关系,目前公认的判定者是机器。也就是谷歌通过机器算法,针对开发者账号的各种信息和行为进行对比,然后根据对比结果来判定是否是关联账号。

如果大家对评分卡有一定的了解,那么可以把Google的这个判定规则比做一套评分卡系统,简单的理解就是机器通过对开发者账号相关的各种字段与黑名单库进行对比。然后每一个字段都会有具体的分值。当分值超过某一个值时,就判定为关联账号。而这其中,有一些字段,单独命中就会直接得到较高的分值。从而确定账号关联关系。(这是一种假设,实际的系统应该比这复杂很多)

对于相关可能会抓去参与评分的字段,小Huii在和一些同行交流之后,认为有以下几种:01

客户端代码关联

代码结构相似度过高,框架封装的相似度高,类名方法名变量名等起名规则具有唯一性;使用了相同的域名;使用了非常多第三方框架等等。

拿资源包来举例,apk解压后assetsinData下的文件(以Unity工程为例)Google是通过比较文件名和文件内容的相似度来判断两个包是否是马甲包,不管你是用mono方式打包,还是IL2CPP方式打包,这个目录下会有一大堆用hash值命名的二进制文件,hash值来源于原始的文件名,这意味着如果两个apk里面有大量的二进制文件同名,那么对应的也就会有大量的实体资源文件同名,这个很危险。

为了规避这个风险,可以把资源单独打一个AssetBundle包,并对这个包进行加密(简单的按位取反就行),这样就不会有太多二进制文件暴露在assetsinData目录下了,但这样处理也有个问题,就是如果这次提的包被封了,下次提的包AssetBundle文件就和这次相同了,需要更换一种加密方式。02

后端接口关联

ip要换新的,域名也要换新的,更改接口结构,加密数据传输。

如果你提交的包被封了,那么下次提交时一定要更换服务器的IP地址和域名,一般游戏的HTTP请求是明文的,就是客户端发送给服务器的HTTP请求会把服务器的域名写的很清楚,Google会毫不客气地封掉这个域名,所以光换IP地址,不换服务器域名,是没有用的!03

云测试平台关联

从开发者账号注册到上架后我们的包要拿去跑试运行,很多朋友在这个环节只是单纯的使用模拟器。从仿真的方面来说,这是给谷歌留下了一个秋后算账的把柄,目前市面的模拟器例如夜神之类的指纹环境都是基于中国来进行设置,一旦我们包体中的sdk检测到相关的环境就会导致异常,这个方面最好选择云手机进行包的运行测试。

市面上大多数的云手机无法提供代理功能,需要用户在里面自己装一些工具才能实现某些功能,本质上内置的app除了重启问题以外,也容易被谷歌检测到运行的后台信息,如果要做到毫无破绽建议使用一些可以前置设置代理功能的云手机。04

设备相关

这一块不用多说,有很多介绍的文章。很多开发者都有在本地电脑登录开发者账号导致封号的经历(前提是本地电脑曾经登录过被封账号)。我们曾经尝试过重置系统,清除缓存等策略。但是依然有中招的,后来就不敢再验证了(成本太高,而且无法确定是什么规则导致了关联),后来就直接采用VPS服务器的方式进行。这也是目前避免账号关联的基础操作。

设备这块,VPS服务器已经是最好的解决方案了。当然,如果你只有唯一一个开发者账号,而且从未有过违规记录。还是可以在本地登录的,配备一个稳定的虚拟专用网络就没有任何问题。05

付款/收款相关

关于付款,指的是开通开发者计划所支付的25刀所使用的付款卡,去年很多人都可以使用自己的信用卡支付(需要是VISA或Master),但是最近一段时间来,经常会出现支付失败的情况,这个具体是什么原因不得而知。我相信依然还是有很多是采用这种支付方式的,也是可以支付成功的。

如果是采用自己的卡支付,那么卡相关的信息已经被记录了。如果使用同样的卡支付其它的开发者账号,那么这个关联关系是非常强的。如果让我去制定账号关联关系,支付卡这一条信息,肯定也是首选的。

为了避免这种情况,最好的办法就是一个账号对应一张卡。最好是每个账号对应的人都是不一样的。如果实在做不到,可以尝试一个人不同卡进行支付。

收款卡,这一块主要就是当你的APP有付费项目时,一定要慎重填写。填写的收款信息一定要是干净的,可以使用自己的收款卡。

这里的原则就是,不同开发者账号,收款信息分开。不要混用。06

主动关联信息

不知道大家是否注意到,开发者账号可以主动关联AdMob,Google Analytics,Firebase这些平台,还有就是添加测试账号这些内容。假设你没有主动关联的时候,谷歌也知道你所使用的这些账号。但是它不会非常确定说你们是一起的,当你主动关联的时候。它的规则就明确说,你们是一起的!

假设你有一个AdMob账号,之前给某一个APP对接广告,后来这个APP违规被下架了,然后APP对应的开发者账号被封了。这个时候,重新做了一个APP,对接的依然是这个AdMob账号,新的APP被关联的情况是多大呢?当在新App对应的开发者账号后台关联了此AdMob账号,这是不是直接主动告诉了Google你们是同一个人?我想这个时候,谷歌的机器肯定是要把这个账号关闭掉!

以上这些内容,希望能给大家带来帮助,如果大家有同样的情况也可以互相交流。对于开发者来说,要在Google Play平台上发布应用,需要遵守他们的规则。如果因为触犯规则导致账号被封,那就得不偿失了。

在谷歌目前的机器规则下,你一次是坏人,那么永远就是坏人,把曾经违规的账号相关信息永远封存,不再用于新的开发者账号中是最优策略。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

error: Content is protected !!