【问题标题】:Apple In app purchase status codesApple In app 购买状态代码
【发布时间】:2015-09-16 00:11:21
【问题描述】:

验证后,我在应用购买收据状态代码中对苹果有一些误解。

第一个创建测试用户,并使用应用内购买测试应用程序(大约 3 个项目,类型为消耗品、非消耗品、自动更新)。购买了 1 件类型为自动续订订阅的商品。 之后我收到收据,它看起来很好,并试图验证它。状态码等于 0,我在 in_app 数组中有大约 6 个项目(看起来也不错)。

当我从文档https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1 中读取时,我应该得到 21006,这意味着此收据有效,但订阅已过期。当此状态代码返回到您的服务器时,收据数据也会被解码并作为响应的一部分返回。还写了仅返回用于自动更新订阅的 iOS 6 样式的交易收据。

那么问题是什么是 iOS 6 风格的交易?我应该从另一个 iOS 风格的交易中获得什么状态码?

【问题讨论】:

  • iOS 6 应该被完全忽略,因为它的市场份额最多。 2%
  • @Sithys 告诉我的老板...
  • ...浪费时间。到处都一样……

标签: ios objective-c in-app-purchase


【解决方案1】:

原因仅在于您提供的链接。如果您看到appStoreReceiptURLdocumentation,您可能会看到它仅在 iOS 7 中公开。这意味着 6 和 7 之间的收据格式和访问方式有所不同。

您应该能够通过在 6 和 7 中运行您的代码并分别获取收据来注意到差异。

一般建议是检查设备版本(不要使用respondstoselector,因为之前也存在appStoreReceiptURL)并按照链接的建议解释状态代码。

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 2012-12-27
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多