【问题标题】:Check Auto-renewable InApp Purchase iOS检查 Auto-renewable In App Purchase iOS
【发布时间】:2016-03-15 20:58:13
【问题描述】:

我正在为 iOS 实施自动更新的应用内购买。第一个月工作正常。但我无法知道用户的订阅是否自动续订意味着当前 InApp 购买的状态是什么。

在 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);
   }

【问题讨论】:

    标签: ios8 in-app-purchase payment auto-renewing skpaymenttransaction


    【解决方案1】:

    如果应用程序正在运行并且事务正在更新,我猜事务还原不起作用。请参考 StoreKit 指南:-

    订阅成功续订后,Store Kit 会添加一个 交易队列的续订。您的应用程序检查 启动时的事务队列并以相同的方式处理更新 与任何其他交易一样。请注意,如果您的应用程序已经在运行 订阅更新时,不调用事务观察者; 您的应用会在下次启动时发现续订。

    重新启动应用程序后,事务恢复功能可以很好地恢复当前自动更新的事务。

    在Alternate上,如果您想在不重新启动应用程序的情况下检查交易是否更新,您可以手动刷新“App Receipt”

    链接(到期和续订):- https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 2016-11-23
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      相关资源
      最近更新 更多