我在我的应用中实施了应用内购买,并进行了恢复。我的问题是:如果我按下恢复按钮并且没有什么可以恢复,我怎么知道呢?
现在,如果我点击恢复按钮并且用户之前购买了某些内容,它将恢复并显示消息。但是,如果没有什么可以恢复,它就什么都不做,我想告诉用户一些事情。
由于
更新
我通过检查所做的交易数来修复它,如果它是= 0则没有什么可以恢复:
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];
if (queue.transactions.count == 0) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"You don't have anything to restore" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
for (SKPaymentTransaction *transaction in queue.transactions) {
NSString *productID = transaction.payment.productIdentifier;
[purchasedItemIDs addObject:productID];
[_transactionDelegate inAppPurchaseHelper:self transaction:productID didFinish:YES];
}
}
答案 0 :(得分:2)
恢复完成后调用paymentQueueRestoreCompletedTransactionsFinished
方法。在此期间,跟踪您使用SKPaymentTransactionStateRestored
类型收到的交易次数(如果有)。
如果它为零,那么你就知道什么都没有恢复。