如何以开发人员身份处理自动续订订阅

时间:2011-02-25 16:02:17

标签: iphone app-store in-app-purchase

this Article Apple中写了如何从用户的角度启用自动续订订阅。但我的问题是如何作为应用程序的开发人员处理这种自动续订订阅?

在我的应用程序(目前正在开发中)中,用户可以通过应用内购买购买一些订阅(30天,3个月和1年)。成功付款后,我将购买的商品标识符发送到我的服务器以保存新的订购时间(也用于其他平台)。这在沙盒环境中非常有效。

但是,如果我正确理解该文章,则会自动从AppStore内部和我的应用程序内部执行自动续订订阅。我现在如何跟踪订阅?

2 个答案:

答案 0 :(得分:3)

如果订阅已自动续订,则交易将不会通过paymentQueue:updateTransactions方法。更新只发生在商店。

如果你想测试它,你必须:

  • 如果您将收据存储在那里,请在应用程序服务器上重新验证收据。
  • 重新验证iOS客户端上的收据

请参阅:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html#//apple_ref/doc/uid/TP40008267-CH104-SW1

为了避免在每次启动/激活时测试自动恢复,您应该存储订阅期的endDate以测试之后的续订。

另见:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html#//apple_ref/doc/uid/TP40008267-CH4-SW4

但是,沙盒中似乎存在错误。订阅有时会更新,有时不会。很难测试......

答案 1 :(得分:0)

基于苹果in-app-purchase documentation中的(相当少)信息,我的印象是,无论何时您需要确定用户的自动续订订阅状态,您都可以恢复其交易。

这会导致应用商店将所有自动续订交易发送到您的应用,此时您将处理收据并提供适当的内容。

据推测,当用户的当前订阅(您可以在本地跟踪)设置为过期或首次安装应用程序时,您只需要执行此操作。