我想用iOS实现IAP,并且注意到了两种不同的调用addTransactionObserver的方式。
1。启动IAP后添加此方法。此方法将被调用一次。
2。通过购买添加此方法并还原btn。恐怕单击btn会反复调用此方法。
- (void)purchase:(SKProduct *)product{
SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
- (IBAction) restore{
//this is called when the user restores purchases, you should hook this up to a button
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
您能告诉我添加此方法的正确方法是什么吗?
您在启动时仅应调用一次addTransactionObserver AND。
在类addTransactionObserver
中调用init
。我个人使用单例类来管理IAP内容。在应用启动时,无论如何,您都需要请求可用的IAP,因此在单例创建期间,我注册为交易观察员。