【说明】本文主要讨论关联账号被封的问题,不涉及首次被封的情况。
作为一名游戏从业者,面对海外市场时,与Google打交道是不可避免的。许多朋友都会遇到Google开发者账号被封的情况,而无论如何处理,仍然会受到关联账号的影响。特别是自2018年6月以来,Google封禁措施和技术水平有了显著提升。
经历了许多挫折后,我深感有必要总结我们所遭遇的困境,以供他人参考。
谷歌封禁关联账号的主要措施集中在两个方面。
申请Google开发者账号所需的PC设备
基本原则:每台个人电脑应对应一个Google开发者账号。
【最佳选择】购买一台崭新的个人电脑,同时使用香港VPN(之前未曾尝试过)。
【绝佳选择】寻找一款专业的PC信息修改工具,我个人推荐牛B硬件信息修改大师。使用这款工具,您可以轻松一键修改PC的关键信息,尤其是网卡的MAC地址,请务必仔细核对。
【经验教训】在一台PC上登录了其他Google开发者账号,却忘记清除登录信息,结果遭遇了不幸的情况。
【经验教训】当时我们尝试着寻求捷径,计划直接在阿里云香港的Windows云服务器上申请,以省去VPN费用。
我们注意到在第一次申请时,账号没有任何问题。然而,当这个账号被封后,我们决定更换了Windows云服务器的IP地址和操作系统,并试图再次申请。然而令人遗憾的是,我们发现无论如何总是会遭到封禁。
我们推测云服务器的信息被Google记录下来,但具体是通过记录哪些信息来进行识别还不十分明确。
1.2 用于申请Google开发者账号的支付账号
【最佳选择】一个真实的信用卡只用于支付单个账户的费用。
我们推荐使用全球付作为第三方虚拟信用卡平台的保底选择。它与信用卡类似,每个虚拟信用卡仅限于支付一个账号的费用。
1.3 其它
每个Google开发者账号都需要匹配一套全新的信息,其中包括但不限于PC和支付账号。此外,还需提供以下内容:
手机号隐私权网址:我们在填写手机号时,会先随机填写一个临时号码,待Google联系我们后再提供正确的号码。关于开发者个人和住址信息,请详见相关页面。
当许多朋友的游戏账号被封时,他们常常困惑于是账号本身出了问题还是游戏包存在问题。然而,实际上解决这个疑问的方法非常简单:
请提交一个单机版的helloworld游戏,并选择游戏品类进行提交。如果通过审核,即表示您的账号正常可用。
【重要提示】请务必在提交之前确认游戏品类,切勿选择工具类。工具类应用将会被快速审核通过,不会进行审查!
另一种验证方式是检查是否有Google登录记录与您的游戏账号相关联,如果有登录记录,则表示您的账号状态正常。
- 提交到Google上的的apk
2.1 静态马甲包
指的是新提交的包和之前被封禁的包存在相似之处,这些相似之处被Google检测出来了。这种检测方式是通过纯静态检测实现的,也就是说我们只需要解压apk包就能看到其中的内容。具体来说,这些内容包括哪些呢?
2.1.1 Android AAR Package
在Unity游戏中,引入各种Android aar包是不可避免的。这些包通常包含第三方公共的SDK,看起来应该没有什么问题。
【遭遇过的困境】我们曾经在aar包中添加了一个自定义类,结果导致了封禁。只有当我们移除了这个类后,才恢复正常。这是一次惨痛的教训啊!
【最佳选择】从零开始引入第三方SDK,如果需要添加新的类,请注意更改类名和包名,避免与之前提交的重复。
【保底选择】可以考虑使用第三方加固工具,例如360的应用加固,对apk进行加固处理。
2.1.2 资源包,即指解压apk后位于assets/bin/Data文件夹下的文件(以Unity工程为例)。
【推测】谷歌可能通过比较文件名和文件内容的相似度来判断两个应用是否是伪装应用。
无论您是使用mono方式打包还是IL2CPP方式打包,该目录下都会有许多以hash值命名的二进制文件。这些hash值来自于原始文件名,这意味着如果两个apk中存在大量同名的二进制文件,那么对应的实体资源文件也会有大量重复。这种情况非常危险。
【最佳方案】将所需资源单独打包成一个AssetBundle,并对该包进行加密(可以简单地通过按位取反实现),这样就能避免在assetsbinData目录下暴露过多的二进制文件。
这个最佳选择存在一个问题,即如果当前提取的包被封锁,下次提取的AssetBundle文件将与当前相同。为了解决这个问题,我们可以考虑采用另一种加密方式。
2.2 服务器网络
如果你的提交包被封锁了,那么在下次提交时务必更换服务器的IP地址和域名。
【避免常见错误】许多同学可能不了解,游戏中的HTTP请求是以明文形式发送的。也就是说,客户端向服务器发送的HTTP请求会明确包含服务器的域名信息。然而,请注意,如果将Google等搜索引擎作为服务器域名写入请求中,它们可能会毫不犹豫地封锁该域名。
因此,仅仅更换IP地址而不更换服务器域名是毫无效果的,完全没有任何作用!
2.3 代码(适用于Unity项目)
这个问题非常简单,可以直接使用IL2CPP方式进行打包。
如果你决定使用mono进行打包,你也可以尝试自行修改libmono.so来实现对dll的加密。
文章来源:https://www.90bite.com/(请注意,此链接为原文地址)
还木有评论哦,快来抢沙发吧~