【问题标题】:Using appStoreReceiptURL to restore non-renewing subscription使用 appStoreReceiptURL 恢复非续订订阅
【发布时间】:2014-07-13 00:23:25
【问题描述】:

我可以使用 appStoreReceiptURL 获取的收据来检索非续订订阅的购买日期。对于非续订订阅,我可以从购买日期开始计算到期日期。

但是当我尝试使用 appStoreReceiptURL 恢复时。我发现即使使用相同的 Apple ID 登录也没有购买的设备返回 nil。

使用

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

无法更新 appStoreReceiptURL 中的收据。我在这里做错了吗?还是不能以这种方式恢复收据?

谢谢

【问题讨论】:

    标签: ios in-app-purchase non-renewing-subscription


    【解决方案1】:

    您无法以您尝试的方式恢复事务,因为它们是消耗品,并且消耗品的寿命是有限的。

    但是,您可以解析收据,并据此计算订阅期。

    收据将在主包中,但可以使用刷新

    recreq = [[SKReceiptRefreshRequest alloc] init];
            [recreq setDelegate:self];
            [recreq start];
    

    【讨论】:

    • 感谢您的回答。我确实设置了我的应用程序以这种方式恢复:刷新收据并重新计算到期日期。它工作得很好。但是,我的应用被 Apple 拒绝了,他们希望我有一个可选的注册供用户恢复或使用 iCloud。所以不要这样恢复。
    • 首先,我很高兴听到您想通了。其次,我的应用程序已经获得批准。无需使用 iCloud 或可选注册。请查看progressconcepts.com/blog/…,查看我之前写的一篇博文。如果您想与我联系(请参阅博客),我很乐意进一步讨论,但请放心,Apple 会批准此操作。
    • 伙计,你批准了吗?我得到了这个:修改您的应用程序以包含可选的用户注册功能,将订阅内容传送到用户的所有 iOS 设备是合适的。此类用户注册必须是可选的,而不是必需的。我们还建议指出需要注册才能从其他 iOS 设备访问订阅内容 - 如果用户希望在未来访问此内容,请提供一种稍后注册的方式。
    • 我很喜欢收据的计算方式,简洁明了,不容易被用户作弊。你能告诉我更多如何获得批准吗?
    • 您是否包含恢复订阅按钮?您需要确保包含恢复购买,这将调用 SKReceiptRefresh 将收据下拉到其他设备并遍历收据以获取订阅信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2014-07-18
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多