- 马甲包:同一套代码,套在不同 App 内进行上架。我们一般把提交审核展示出来的代码称为 A 面(也称为:壳),隐藏的功能代码称为 B 面。
一些特殊的行业在现行规则下 App 受限,原因可能如下:
- 国家要求相关资质才能开展相关业务,才能提交到各大应用市场,比如金融、P2P、游戏等;部分违法业务,如:博彩等
- ASO:单个 App 覆盖的关键词有限,需要多个相同内容的 App 来尽可能覆盖多的关键词
- 单个 App 能推广到的用户数有限,需要多个相同内容的 App 来提高总用户数
总的来讲,做马甲包是为了扩大用户数来实现营收增长
- 部分行业 App 由于政策原因,正常提交 App 会被要求出示相关资质,如果公司不能提供相关资质则会被拒。比如以 5.2.1 需通过相应资质原因被拒
- 同一份代码嵌入多个 App 代码特征是可能重复的,可能会被以 4.3 重复应用被拒
- 2.1 大礼包
- 跟有资质的公司合作,让他们提供资质与壳。比如一个P2P App:
- 找有完整资质的公司进行合作,但可行性不高。有完整资质公司一般不会担这个风险,一旦被发现会影响该账号下所有的 App。
- 找其它有跟钱相关的资质的公司,比如:理财类、银行类等。同时,在元数据采用一些中性词汇。
- 不依赖资质,选择科技类公司账号,先国外上线,迭代几个英文版本后,添加中文,再逐步修改元数据。一般认为你的 App 会由你的主要上架地区的审核团队来审核,如果选择国外作为主要上架地区,审核团队是有可能忽略中文的元数据。
总的来讲:没有固定的套路,不管你怎么变化套路,苹果总会慢慢察觉并封锁这一套路
-
代码特征问题
- 项目名修改
- 类名混淆
- 方法名混淆
- 属性混淆
- 添加垃圾代码
- 以入口形式添加,通过后台下发控制
- 删除跟行业相关敏感字符串、图片,比如:银行卡
- 批量修改图片的特征
- 采用 framework 方式来集成功能模块,比如私有 cocoapod、添加 framework target 等
- 由不同的开发人员采用不同代码风格来重写代码功能,减少代码特征
- 拆分 App 模块,只上提供功能的最小模块,减去非必要模块,比如分享模块就可以去掉
- 支付SDK,比如微信、支付宝SDK,均有风险,解决方案:
- 删除官方 SDK,采用 openshare 来支付
- 删除官方 SDK,走 h5 支付方案,通过 JS 交互将支付的 URL Schemes传给 App 来进行支付交互
-
审核开关:什么时候打开 B 面
开关 说明 启动前置页 监测是否有网络,如果没有网络则显示无网络页面,有网再去各种检测 当前地区国家 是否为** 时区 是否在**:Asia/Hong_Kong、Asia/Shanghai、Asia/Harbin 系统语言 非简体中文即为审核人员 设备机型 由于一般 App 只支持 iPhone,故认为 iPad 即为苹果审核人员 时间开关 启动时检测本地时间,只有大于给定时间时才会发送网络开关请求 网络开关 由后台决定是否开启 B 面 B 面记录开关 记录是否开启过 B 面,如果开启过 B 面则不请求网络 IP 地址 拒绝对美国IP提供服务 由于苹果会对源代码进行扫描,建议开关均采用加密形式写入。
-
如果业务开展无需原生就简单的多了,开关过了后,直接把 B 面切成 H5
- 关闭电脑 GPS
- 使用 4G 上传 ipa 包
- 尽量使用不同的 Mac 设备上传
- 一个账号下最多挂一个马甲包,以免被牵连
- 一开始上线地区可以不要选择所有地区,可以只随便选择一个地区,尽量保证过审。这个地区在你的 App 上架之后是可以随便改的,所以你一开始不妨就让它在一个语言不通的小国家上线,反正也不会有人用。
- 每日监测 App Store 上下架情况,找到合适的马甲包类型并学习上架过程
- 壳类型:热点类型 App(比如:垃圾分类等)、工具类型(最为常见)
- 国内上架
- 如果是资质的公司合作,元数据直接上真实内容。
- 如果是其它有跟钱相关的资质的公司,元数据尽量中性一点。建议采用逐步迭代的方式来更新。
- 国外上架 --> 国内上架
- 前面几个版本常规迭代壳的元数据,添加中文语言后元数据依旧常规迭代几个版本,App 稳定后再修改中文元数据为业务相关中性词汇跟宣传图的内容
注意:不同壳类型会影响 App 的运营推广
总的来说:元数据建议采用逐步递增迭代来减少被拒风险
- 当 App 被拒后,我们要开始着手做 App Store Connect 清理工作,主要是为了清除苹果记录的代码特征、App 元数据
- 清理二进制文件:前往应用的 AppStoreConnect 页面,在 TestFlight 栏目下,找到你之前提交过的构建版本,点击“将构建版本设置为过期”,这一步是必须要做的
- 清理 App 信息:之前填写过的关键词、开发者网站链接、App 名称、App 图标,全部换成无意义的随机内容,和真正内容不要有关联。
- 换账号:购买一卡一付的主账号、不购买一卡多付的(子)账号;一卡多付的账号一旦被调查,所有使用该卡支付的账号都会进入被调查