如何将特定产品项目ID与名称与InApp购买相关联?

时间:2012-07-18 01:53:44

标签: ios in-app-purchase

想象一下每个小部件都有唯一名称/标识符的小部件世界。例如,ABC。

我需要在Apple确认付款后,根据该唯一标识符提供他们购买的特定内容(ABC内容)。

这是一个例子:他们购买了一个Widget,但我需要知道他们购买的特定标识符(即小部件的名称)是什么,以便为他们提供正确的小部件内容。每个小部件都有一个来自服务器的唯一标识符/名称。有数十亿个独特命名的小部件。

理想情况下,我会将交易的补充信息发送给Apple,以便在交易成功通知返回时,我确切地知道已经购买了哪个Widget(例如ABC)。

有没有办法发送以后返回给我的补充信息,或者我需要管理自己的产品购买队列,其中每次购买都有产品的特定名称/标识符?如果我必须管理自己尝试的Widget购买的集合,那么这样做的好习惯是什么?我是否存储了一个SKMaymentTransaction对象的NSMutableArray以便稍后查找?

(顺便说一下,有三种不同的盒子。每种不同类型的盒子都有不同的成本,因此也就是productIdentifier。)但是,只有一种盒子需要命名的Widget功能。

谢谢!

顺便说一下,我研究了这个文档及其链接到很多内容: https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267

1 个答案:

答案 0 :(得分:0)

目前,答案是跟踪您自己的特定产品信息。

在小部件的上下文中,拥有自己的特定小部件队列(NSMutableArray)(或者只是小部件名称,如果这就是你需要的)。从Apple获取绿灯(验证收据)后引用此自定义Widget队列。

换句话说,将Widget放在您自己的Widget队列中,从Apple获得绿灯,让Widget脱离队列,并执行您需要做的事情来传递内容。

如果自定义队列的管理以及与Apple的Store Kit的交互是由一个名为TransactionBroker的类(或您希望的任何名称)完成的,那么所有这一切都会容易得多。