最近正在做的项目,涉及到了IAP(In-App Purchase),即苹果的应用内购买。在开发过程中遇到了各种各样的状况,IAP的开发步骤在网上有很多十分详尽的教程,不需赘述,本文重点介绍说明在IAP开发过程中遇到的坑,并探讨相对合理的解决办法。
一、IAP类型与用户系统
绝�大部分iOS应用,都会维护一套自己的用户系统,然而IAP是使用苹果的用户系统(Apple ID)来进行购买的,因此就会产生一个问题:
通过苹果的用户系统(Apple ID)的购买结果或行为,如何与应用本身的用户系统进行关联?
很简单的�情况就是,应用内的不同用户使用同一个Apple ID进行IAP,或者是应用内同一个用户使用不同Apple ID进行IAP,要如何处理。
解决这个问题之前,首先要明确IAP的类型,以及每种类型的特性。下面是在iTunes Connect创建IAP时的提示:
可以看到IAP总共有5种类型,虽然苹果对每种类型的说明很详细,并且都加上了举例说明,但仍然没有明确的信息解决之前的问题。在查阅了苹果IAP的开发文档后,我发现了下面的表格:
这个表格中表明了不同类型IAP的在使用同一Apple ID购买时的次数限制,经过测试总结如下:</