大家都知道想要在AppStore上线带有虚拟物品交易的app必须要走苹果的内购渠道,否则就会因为3.1.1条款被拒绝,如图所示:
前言
大家都知道想要在AppStore上线带有虚拟物品交易的app必须要走苹果的内购渠道,否则就会因为3.1.1条款被拒绝,如图所示:
翻译之后的意思是:指南3.1.1商业支付-应用程序购买
我们注意到,您的应用程序或其元数据可以通过应用程序内购买API之外的其他方式购买应用程序中的内容、服务或功能,这不适合于App Store。
下一步
虽然您所包括的支付系统可以在应用程序外部进行交易,但如果可购买的内容、功能或服务打算在应用程序中使用,则必须在应用程序中使用应用程序内购买来购买,除非是指南中提到的类型。3.1.3的App Store审查指南。
虚拟物品包括会员、报名费、视频购买等等非实物交易
最近上线一个包含活动报名以及视频付费播放的app,因为有虚拟物品交易和实物交易,在项目中集成了微信支付和支付宝支付,一开始采取的是这两种方式来进行支付,测试完毕提交审核,第二天一早便收到苹果拒绝的回复:
拒绝的原因有两个:
- 包含有测试数据
- 有虚拟物品交易没有使用内购
第一条被拒的原因是因为后台没有变更数据库,导致显示的数据带有测试字样,直接被苹果拒绝并截图返回
在此也是提醒各位在提交审核的时候避免出现测试、Test、Beat、Demo、Trial等字样,苹果审核那边看到如此字样直接拒绝。
解决方案
不需要重新打包上传,在和后台沟通后修改掉以上会被拒绝的字眼后直接回复苹果邮件:
然后等待苹果审核,然而还是没有避免掉3.1.1的条款,多次回复邮件说明情况还是被拒绝,后来和后台商量将所有活动报名和视频播放都改为免费,不需收费便可直接使用,回复邮件并附属上说明图片(回复的时候可以直接添加附件即可)
这一次的提交之后,苹果审核那边时间相对延长了一天,之前都是隔天就给了回馈,然而收到的还是3.1.1条款拒绝,截图返回如下:
看到图片的时候想到可能是因为显示了票价,此时很崩溃有没有???既然回复邮件说明都不奏效,那只能另寻出路了。。。
终极解决方案
- 和后台商量添加审核字段
isCheck
来标识是否在审核期间(如下图) - app端对服务器返回的字段进行重新布局,在列表页面对价格进行隐藏,详情页将价格cell进行隐藏,结果如下图
在app端显示如下:
至此,重新打包上传,过了一晚边收到审核通过的消息,在发布应用后便可让后台改回原来的价格,app正常使用了。
总结
- 苹果审核比较严格,对测试数据把控需严谨。
- 此处给的方案治标不治本,业务需要的话还是需要走苹果提供的内购渠道。
- 以此方法上线的app在后期有几率被苹果复审下架。
- 版本迭代的时候需要再次跟后台沟通改变
isCheck
的值
ios小白一枚,请多多关照,不喜勿喷