一、走进马甲
摘要
随着马甲包的出现,给ASO优化带来了新的方式,也给优化工作带来了极大的便利。我们在使用马甲包的时候一定要把握两个方向:
1. 导量,无论是什么产品,唯有带来量才能带来效益,效益为先;
2. 抗风险,有些优化手段风险极高,但是带来的利益也是极大,所以制作马甲包是为了抵抗风险,把利益留下。
Q:为什么做马甲包,做马甲包有哪些好处?
A:
1. 马甲包最核心的作用就是获取有效客户,另一方面是增加关键词的覆盖量
众所周知,单个App只能有100个字符的关键词,多个App就意味着可以覆盖N*100个字符的关键词,关键词覆盖越多就意味着能够被更多的客户搜索到。有展现量才有下载量,有下载量才有可能发展成为有效客户。
2. 导量
主包和马甲包属于同一个平台,用户信息可以共享。马甲包可以通过弹窗、广告、Push等引导用户下载主包,也可以通过接入网盟相互导流。
3. 抗风险
正常情况下,任何一款产品都要不断地更新新功能。如果我们直接在主包上更新,一旦新功能不被用户接受就损失大了,前期大量投资带来的用户将会流失。这对很多产品开发者来说都是 “不可承受之痛” !如果使用马甲包,则可以随意测试新功能,好的功能才在主包上迭代。
Q:如何最大程度的规避马甲产品被苹果下架风险?
A:
1. 申请开发者账号时,一个身份一个号,一个号一个马甲,各不相关;
2. 将主包功能分拆独立,形成新的应用;
3. 上传应用包时,避免IP和MAC地址相同。
二、制作马甲
摘要
二进制代码是应用市场判别产品的唯一标准,把代码做一些调整或修改,便会生成一个全新的二进制代码,这是制作马甲包的唯一方式。与此同时,功能局部化、产品简单化、页面差异化、整套UI更改等都是制作马甲包的有效处理。
出包指南
(一)出包准备
1. 出包类型:原生包、马甲H5壳包;
2. 服务器部署:iOS服需在海外(美国最佳)搭建审核服,避免审核过程中因网络问题引起被拒;
3. 完善IP检测机制,实时掌握苹果审核进入App的进度。
(二)游戏主要界面相关修改
修改App启动后第一个页面,保证马甲与主App的第一个页面不同,从先入视觉迷惑苹果审核人员。界面修改的目的在于区别主游戏,且在审核服修改。界面简单或者夸张,向两个极端,并对进入游戏的场景进行适当的减少或增加。
常见处理:
1. 启动页、闪屏页修改;
2. 选服界面修改;
3. 创角 / 选角界面修改;
4. Loading页修改;
5. 地图随机、角色外显装备随机、UI按钮隐藏或修改样式;
6. 充值UI界面改动、修改UI样式、颜色或新增充值档位,过审后隐藏;
7. 初始加载无需从服务器下载资源,减少因网络问题出现画面加载慢;
8. 其他修改,如进入游戏背景音乐的修改等。
(三)游戏工程代码相关修改
代码中严禁出现敏感字样!
常见处理:
1. 审核服避免出现“审核”、“测试”、“test”等字样;
2. 不可出现公司 logo 、版权信息;
3. 原生游戏开启符合苹果要求的充值(苹果内购);
4. 全局搜索游戏代码与注释,移除 alipay,wechat,weixin,pay等敏感词;
5. 修改工程名,已有的代码进行混淆(改类名、函数名、静态变量名等),特别是相关域名可进行加密处理;
6. 加入无用的混淆代码,混淆代码做到自动随机生成,同一个游戏打出不同的包,混淆代码不一样。并在游戏合适的地方假装调用,示例如下:
BOOL isEnter = NO;
if (isEnter == YES) {
// 混淆代码,调用入口
}
(四)游戏资源文件相关修改
1. 图片资源使用 ImageMagick 对 png 图片做轻量压缩;
a.安装 ImageMagick,brew install imagemagick
b.压缩工程目录下所有 png 文件,find . -iname "*.png" -exec echo {} \; -exec convert {} {} \;
2. 修改资源文件的MD5及Hash值;
3. 资源改名以及添加无用的资源。
(五)规避拒审4.3条款
1. ipa包特征(代码、资源相似性);
2. 开发者账号(每个马甲包出包使用对应的账号);
3. 打包电脑(使用不同的IP与设备打包);
4. 上传IP(上传ipa包时,切换IP);
5. 材料相似性(iTC后台材料,如宣传图、icon、版权等不要出现相同)。
(六)打包注意事项
1. 断网打包;
2. 连网打包需换IP;
3. 不同MAC设备打包;
4. Xcode登录对应开发者账号打包。
三、被拒4.3条款,部分解决方案
(一)元数据方面修改
1. 修改应用程序价格,打造与原产品不同的价格级别;
2. 修改应用程序发布地区,打造与原产品不同的售卖地区或分不同地区运营;
3. 修改产品分类,打造与原产品不同的产品侧重属性分类。
(二)二进制方面修改
1. 升级version,升级一个版本号提交审核;
2. 换bundle id,换一个包再提交审核;
3. 换开发者账号,换不同账号提交审核;
4. 修改素材、UI色调、logo、主色调等;
5. 修改功能界面,此处可改功能做小开关控制;
6. 添加垃圾代码或注释块,此处主要防苹果机审扫描(多加点注释,无关的也无所谓)。
示例:
- 如果之前用这套源码上过一个包,现在用这套代码直接改一个logo跟名字再上一个马甲,这种基本会直接4.3
这种情况,需要修改源码:
第一步:工程中文件夹的名字全部进行修改;
第二步:每一个工程都有一个类前缀,需取一个长点的类前缀,且这个类前缀在你整个工程中一定是唯一的字符串。
第三步:将垃圾代码全部导入工程并调用,目的是混淆代码。
注:单一的加入垃圾代码混淆是没用的!
-
如果这套源码在另一个账号上提交过,但是被拒了,后来因为其他原因你不得不在别的账号上重新提交此源码,这种情况第二个账号基本也会直接4.3
-
如果你的源码只要提交到itunes connect里面,就算没提交审核,当你再次使用此源码提交审核时,基本也会直接4.3
对于2,3种情况需要在第一个账号做一下处理,Xcode新建一个应用,直接用之前提交过的bundle Id打包,logo用一个纯白或者纯黑的图片,将这个新建的应用提交到应用市场,构建版本中将之前被拒的包移除, 用这个新的应用顶替之前被拒的包,app名字改成 “作废-此应用不再提交” ,后面再随便加一个数次,因为这个名字别人已经用过了, app描述跟app名字一样,剩下的信息全部删除,最后点击保存即可。
附:苹果三种审核机制
-
预审核
扫描api及plist文件字符缺失。
此处分两步:
第一步为上传时,苹果Application Loador应用对于适配icon等的检查;
第二步为上传后,苹果的功能性检查【如:配置了Push功能,但有缺失或者未打开功能,则会邮件提示】等。 -
机审
此处扫描支付SDK及马甲情况,机器扫描主要看代码块。 -
人工审核
此处主要检测功能、体验测试【如:使用测试账号登录应用体验功能,其他是否有明显bug(含ipv6检测)等】。
网友评论