使用RMStore进行iOS SDK Auto Renewable订阅 - 如何验证有效订阅?

时间:2014-01-16 13:59:37

标签: ios ios6 ios7 in-app rmstore

我正在使用RMStore库在我的iOS应用中使用自动续订订阅。它适用于购买,但我找不到任何文档如何检查RMStore当前订阅仍然有效?

检查所购产品的代码在这里不起作用:

 if([persistence isPurchasedProductOfIdentifier:SUBSCRIPTION_1]) { ... }

此代码始终显示已购买Subscription(因为它已被购买),但未检查此订阅是否已按日期传递。

我在 RMAppReceipe.h 文件中看到方法“ isActiveAutoRenewableSubscriptionForDate ”,但我找不到任何文档如何在我的应用程序中使用RMStore重新订阅订阅以及如何检查使用 isActiveAutoRenewableSubscriptionForDate 方法进行此接收。请帮忙。

摘要:我只需要检查订阅@“com.fanfun.apptestsubscription1”是否仍然在今天(当前日期)有效。请提供此简单检查的示例代码。

2 个答案:

答案 0 :(得分:7)

我认为我找到了一个解决方案并且有效:

RMAppReceipt* appReceipt = [RMAppReceipt bundleReceipt];

NSLog(@"Is subscription 1 active: %d", [appReceipt containsActiveAutoRenewableSubscriptionOfProductIdentifier:SUBSCRIPTION_1 forDate:[NSDate date]]);

答案 1 :(得分:1)

我不知道你使用的那个库。但如果您可以访问收据本身, 您可以对收据进行base64解码,以便在“expires-date”字段中获取收据的持续时间。

检查这些链接:

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW2

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html

<强>更新

[RMAppReceipt containsActiveAutoRenewableSubscriptionOfProductIdentifier:identifier forDate:date]

应该做的伎俩