2011-11-07 188 views
23

我有一个关于iOS的自动再生订阅iOS的沙箱环境自动续订订阅

以下问题一)就会自动更新订阅真正的自动更新在沙箱环境?问题似乎是订阅不会自动续订,尽管文档说即使在沙箱环境中它也应该发生6次。

二)我们需要调用restoreCompletedTransactions获得新的收据自动延长订阅,或者是-paymentQueue:updatedTransactions:方法,通过iOS的自动叫什么名字? (我想它会自动调用'launch'&'旋出背景'不确定)

c)您是如何处理多个设备上的相同订阅的?这可以通过restoreCompletedTransactions来处理,但调用它会提示用户密码,所以每次启动应用程序时都不方便。

回答

26

a)自动更新的订阅是在沙箱环境不一致。有时订阅会在结束之前更新多次(约5次)。其他时间根本不会更新。

B)(iOS6的交易收据)您不需要调用restoreCompletedTransactions检查订阅如果你存储以前的收据(最好在服务器上)的状态。只需将任何订阅收据存储为该用户,并将其提交给App Store进行验证。他们会回复latest_receipt_info,包括expires_date,您可以使用它来确定当前的订阅状态。

c)您应该提示新用户“恢复以前的购买”,在此时您调用restoreCompletedTransactions。然后将这些收据之一(最好从您的服务器)提交给App Store进行验证,以获取有关交易的解码详细信息。在收据信息中查找钥匙original_transaction_id。这将始终包含此用户首次与您开始订阅时的ID。如果您将此ID与系统中的其他人进行比较,您应该能够确定哪些设备共享Apple帐户。 (由于Apple不允许您查看用户的Apple ID,因此这是识别跨多个设备的帐户的最佳方式)。

这个问题类似: iOS auto-renew expired at the end of current subscription period

+0

删除,并添加新的答案 – AndyRyan

7

要添加到此似乎苹果的文档中的线被误解

更新发生在更快的速度,并自动再生订阅续订每天最多六次。这使您可以测试应用程序如何处理订阅续订,订阅失效以及包含间隙的订阅历史记录。

这似乎意味着所有订阅每天只会更新6次。取消前每个订阅都会更新6次。这让我想了一会儿。

这也似乎是在24小时内。在给定的时间不刷新。例如,我在上午11点订阅了一个没有续约的订阅。我在下午2点再次做了一次,更新了6次。