我正在爲iOS執行自動更新的InApp購買。它在第一個月工作正常。但我無法知道用戶的訂閱是否自動更新,或者不知道當前InApp購買的狀態如何。檢查自動更新的InApp購買iOS
在StackOverflow上學習了很多答案之後,我能夠理解我必須提供恢復按鈕才能恢復事務。我已經實施了它,它將我的所有交易一直交給日期。所以,我無法得到我最後的交易。因此,請幫助瞭解上次自動續訂事務的狀態,以便我能夠更新服務器上的狀態。
下面是我使用恢復我的交易代碼:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];
和執行其代表如下:
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
NSLog(@"%@",queue);
NSLog(@"Restored Transactions are once again in Queue for purchasing %@",[queue transactions]);
NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];
NSLog(@"received restored transactions: %zd", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions)
{
NSString *productID = transaction.payment.productIdentifier;
[purchasedItemIDs addObject:productID];
NSLog (@"product id is %@" , productID.description);
NSLog (@"observationInfo is %@" , transaction.payment.productIdentifier.observationInfo);
// here put an if/then statement to write files based on previously purchased items
// example if ([productID isEqualToString: @"youruniqueproductidentifier]){write files} else { nslog sorry}
}
}
- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
{
NSLog(@"Restore Error... %@",error.description);
}