关于苹果内购那点破事儿(3.1.1大礼包解决方案)

2,420 阅读3分钟

前言

大家都知道想要在AppStore上线带有虚拟物品交易的app必须要走苹果的内购渠道,否则就会因为3.1.1条款被拒绝,如图所示:

image.png

翻译之后的意思是: 指南3.1.1商业支付-应用程序购买 我们注意到,您的应用程序或其元数据可以通过应用程序内购买API之外的其他方式购买应用程序中的内容、服务或功能,这不适合于App Store。 下一步 虽然您所包括的支付系统可以在应用程序外部进行交易,但如果可购买的内容、功能或服务打算在应用程序中使用,则必须在应用程序中使用应用程序内购买来购买,除非是指南中提到的类型。3.1.3的App Store审查指南。

虚拟物品包括会员、报名费、视频购买等等非实物交易

最近上线一个包含活动报名以及视频付费播放的app,因为有虚拟物品交易和实物交易,在项目中集成了微信支付和支付宝支付,一开始采取的是这两种方式来进行支付,测试完毕提交审核,第二天一早便收到苹果拒绝的回复:

image.png

拒绝的原因有两个:

  • 包含有测试数据
  • 有虚拟物品交易没有使用内购

第一条被拒的原因是因为后台没有变更数据库,导致显示的数据带有测试字样,直接被苹果拒绝并截图返回

image.png

在此也是提醒各位在提交审核的时候避免出现测试、Test、Beat、Demo、Trial等字样,苹果审核那边看到如此字样直接拒绝。

解决方案

不需要重新打包上传,在和后台沟通后修改掉以上会被拒绝的字眼后直接回复苹果邮件:

image.png

然后等待苹果审核,然而还是没有避免掉3.1.1的条款,多次回复邮件说明情况还是被拒绝,后来和后台商量将所有活动报名和视频播放都改为免费,不需收费便可直接使用,回复邮件并附属上说明图片(回复的时候可以直接添加附件即可)

image.png

这一次的提交之后,苹果审核那边时间相对延长了一天,之前都是隔天就给了回馈,然而收到的还是3.1.1条款拒绝,截图返回如下:

image.png

看到图片的时候想到可能是因为显示了票价,此时很崩溃有没有???既然回复邮件说明都不奏效,那只能另寻出路了。。。

终极解决方案

  1. 和后台商量添加审核字段isCheck来标识是否在审核期间(如下图)
  2. app端对服务器返回的字段进行重新布局,在列表页面对价格进行隐藏,详情页将价格cell进行隐藏,结果如下图

image.png

image.png

在app端显示如下:

image.png

至此,重新打包上传,过了一晚边收到审核通过的消息,在发布应用后便可让后台改回原来的价格,app正常使用了。

总结

  1. 苹果审核比较严格,对测试数据把控需严谨。
  2. 此处给的方案治标不治本,业务需要的话还是需要走苹果提供的内购渠道。
  3. 以此方法上线的app在后期有几率被苹果复审下架。
  4. 版本迭代的时候需要再次跟后台沟通改变isCheck的值

ios小白一枚,请多多关照,不喜勿喷 同步至本人博客

如有需要,请关注公众号JackerooChu,了解更多文章

公众号