我正在努力恢复购买,所以我几乎没有疑问
1) 如何显示恢复按钮
我在左上角显示了它,点击它我调用这个函数
- (IBAction)restorePurchases:(id)sender
{
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];
}
但是,如果用户没有购买任何物品,或者如果用户购买了物品但没有删除并重新安装应用程序,我是否仍然需要显示恢复按钮,如果是,点击它应该是什么行为。
2)现在,如果我购买了一个项目并删除了应用程序并重新安装了应用程序,然后单击恢复按钮,它会调用此函数
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
**case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];**
default:
break;
}
}
}
但是现在,假设我没有任何项目,只需单击恢复按钮,它会询问我的苹果 ID,输入苹果 ID 后,没有任何反应,它没有调用上述函数,我想知道为什么会这样。
另外,我想向用户显示没有要恢复的项目的消息,那么我该怎么做。
我搜索了这个,如果没有要恢复的事务,它们是一个将被调用的委托函数
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
}
我所做的是在这里我检查了是否没有要恢复的项目,我将显示为没有要恢复的项目,我是否在这种方法中是正确的。
问候兰吉特