iOS上架注意事项

2021-08-23 22:04:00

参考地址 iOS上架注意事项

前言

        最近一段时间由于公司的业务需要,一直在做一些马甲包。在18年的时候上架时简单的更改一下就没问题。19年开始苹果换了机审机制,有好几个已上架的App被关联下架,年前忙的焦头烂额还是没有解决。直到上个月有了一些进展重新上了几个App,有了一定的进展。在这里记录一下,App上线的注意事项(偏马甲)。这都是血泪测出来的道路/(ㄒoㄒ)/~~

1.前期准备

商店文案:

         1.必须针对本App编写,不要抄写其他App信息。(4.3容易联带)

          2.不要出现一些敏感词汇。

关键词:

App Store截图:

          1.截图不要带有与其不符的特征,比如:iPhone截图上带有ipd的特征。

         2.截图上不要有关键词,比如:免费。

银行账户信息:

         1.有内购需要提前至0.5天前填写完整。

         2.银行账户信息尽量不要和已经被下架或者被4.3标记的账户关联。

APP信息填写

          1.必须要填写隐私政策

          2.技术支持网址必须包含客服信息以及联系方式;建议用官方网站

          3.分级必须填写准确

         4.如果有其他文件尽量添加到附件并且在备注中填写其描述

         5.审核账号尽量填写可控的账号不要第三方账户并且在备注中填写其描述。

内购填写

          1.内购名称尽量直观化:比如: 2100金币

          2. 产品ID尽量用反域名的方式填写,比如:com.Coins.5,最后的5这个数         字尽量表示当前的内购金额(取整)

         3. 审核信息的屏幕快照必须填写,截图中必须包含本内购项目。尺寸如下图

         4.在第一次申请内购的时候,提交ipa是必须添加本内购项目。让内购的状态变成准备提交状态

           5.在App没有审核通过时,检查内购相关信息。不是准备提交状态时要改变成准备提交状态。(怎么改变呢?随便更新下内购信息即可,如果不行请检查内购信息是否不准确)

          6.其他信息可以随便填写,但是不要太儿戏哦。

2.App编码

           1.第三方工具或者sdk尽量使用用户多的。

           2.编码中不包含内购的不要使用“StoreKit “ 相关代码

           3.谨慎使用 系统的 广告id

           4.如果程序没有实体业务支撑的,必须要使用内购,隐藏第三方支付也是可行的但是尽量不要包含weixinpay zhifubaopay AliPay WechatPay 等字样,如果条件允许做成h5支付最好

          5.如果是一套代码上架多个app的话。必须修改工程名称、改类名、图片等资源的hash值,条件允许的情况下换打包机器、ip、重新写一些不重要的类这样做最好。

3.常见问题处理

          其他元数据问题原则:那里不对改那里

         2.1大礼包:在确认没有违反的情况下逐条回复。(确实存在问题的改正继续提交) 

         2.3.1+3.1.1: 检查代码确认没有问题回复邮件。(确实存在问题的也可以回复邮件但是有封号的风险不建议这样做)。若果回复完没有过审:删除违规代码(尤其是其他支付相关)提审。

          5.1.1:一般是因为内购引起。代码添加逻辑再不登录账户下可以充值内购。常规做法:在审核期间调起支付时设置一个默认账号支付。

          4.3:马甲包问题。主要以以下解决方式:

                   1.机审:

                   1包名

                  2 工程名称

                  3 类名

                  4 方法名

                  5 资源名及hash值         

                  6 添加垃圾代码必须调用(最好不超过30%)

                  7 添加冗余资源

                  9 换账号

                  10 换打包机器及上传IP)

                  11 改一些逻辑代码

                  12 第三方SDK对接的其他产品尽可能的少。

                  (如:友盟账号为111111@qq.com该账号申请的SDK已对接产品A,而产品A是已经上架了的产品,而产品B也用了这个第三方SDK,苹果则会深度对比产品A与产品B,这样更容易导致产品B被4.3重复应用被拒。)

                  注:如果不行,那么就重写%50左右的简单功能类(最差的选择就是要重构App)重复上诉步骤。

        2.人审:

                  1名称、UI元素直观相似度太高。(或许会下载相似的App对比)

                  2 版本号、上架发布地区及应用收费方式(免费|| 收费)

                  3 App Store上架信息(文案及商店图等等)

                  4 打断和以前app包的关联性(银行信息,法务代表等等)

        3.关联:

                  1.同样的ip、浏览器登陆

                  2.同样的身份证注册

                  3.同样的行用卡付款

                   4.同一个电脑开发证书及发布证书创建多个

                   注:如果一个账号出了问题被封,其他账号也会受牵连

后续有修改会继续更新。。。。。




作者:DSY来了就好
链接:https://www.jianshu.com/p/79e543149046
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


  • 2020-11-22 21:00:28

    dagger.android--Fragment,BaseFragment

    1 使用Fragment参数来代替Activity参数 2 使用 @FragmentKey来代替@ActivityKey 3 使用HasFragmentInjector来代替@HasActivityInjector 4 AndroidInjection.inject(Fragment)方法,在Fragment的onAttach()中调用,而不是在onCreate()中 5 Fragment的Module添加位置,和Activity是不同的,它取决于Fragment需要的其他依赖注入

  • 2020-11-22 21:12:30

    Dependency Injection with Dagger2,Fragment

    標註@Provides的method若有parameter的話,Dagger會找出其擁有的該型態物件來使用。我們在Module內新增了DataModel將其列入Dagger的管理下,接著在provideFactory()增加parameter變成provideFactory(DataModel dataModel),Dagger就會找出其管理的DataModel給provideFactory使用。

  • 2020-11-22 22:58:52

    Android LiveData Transformations

    有时候有这样的需求,需要在LiveData将变化的数据通知给观察者前,改变数据的类型;或者是返回一个不一样的LiveData。

  • 2020-11-22 23:00:16

    androidx中的lifecycle组件

    Lifecycle-aware components生命周期感知组件执行操作,以响应另一个组件生命周期状态的更改,例如Activity和Fragment。这些组件可以帮助您生成更有组织、更容易维护的轻量级代码。

  • 2020-11-22 23:02:50

    Android数据存储之DataBase的Room

    Room是Google在AndroidX中提供的一个ORM(Object Relational Mapping,对象关系映射)库。它是在SQLite上提供的一个抽象层,可以使用SQLite的全部功能,同时可以更好更便捷流畅地访问数据库。(关于AndroidX可以参考

  • 2020-11-22 23:04:39

    Android组件 LiveData与MutableLiveData教程

    LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).

  • 2020-11-22 23:14:52

    Dagger 2 在 Android 上的用法

    在前面的文章我们介绍了Dagger2 中的大部分注解的使用,接下来我们从源码角度分析下第一篇文章中例子的原理。

  • 2020-11-22 23:18:59

    Android开发从Dagger2迁移至Kodein的感受

    最近个人在尝试构建 Kotlin版本 的Android MVVM开发框架,在依赖注入框架的选型上,我最终选择了 Kodein 。这是一个非常轻量级的DI框架,相比于配置繁琐的Dagger(繁琐的配置也是导致Dagger学习成本一直居高不下的原因!),它的配置过程更清晰且简单,并且,这个库的源码也是 Kotlin 的。