【问题标题】:iOS 6 In App Purchases - Access completed transaction data without using 'restoreCompletedTransactions' which requires user passwordiOS 6 应用内购买 - 无需使用需要用户密码的“restoreCompletedTransactions”即可访问已完成的交易数据
【发布时间】:2013-03-12 00:10:15
【问题描述】:

我有一个使用自动续订订阅的应用。我需要访问已完成的交易以确定用户是否有有效的订阅。我知道“restoreCompletedTransactions”会为您执行此操作,但是,烦人地需要用户重新输入他们的 iTunes 密码。

有没有更好的方法来做到这一点? 在本地存储收据数据没有意义,因为我必须检查最新交易以确保尚未满足 expires_date,所以我认为我需要始终直接从 Apple 下载交易数据。

【问题讨论】:

    标签: ios transactions in-app-purchase receipt


    【解决方案1】:

    如果您想知道用户是否有效,您想存储收据数据和您的共享密钥您想将收据数据作为您的共享密钥发布到苹果服务器,苹果将响应最新的收据和状态在最新收据中,如果状态为“0”,则用户有效,否则如果状态为“21006”,则此收据有效,但订阅已过期。当此状态代码返回到您的服务器时,收据数据也会被解码并作为响应的一部分返回。 verify this link

    【讨论】:

    • 是的,这就是我得出的结论。我的想法是将产品标识符的收据数据存储在 NSUserDefaults 中作为键。然后与苹果进行验证以获取最新数据作为响应。我的问题是,将您的共享秘密存储在应用程序中是否安全?如果有人入侵了设备并访问了此共享密码,这会导致哪些潜在问题?
    • developer.apple.com/library/ios/#releasenotes/StoreKit/… 下载 .h 文件右上角的配套文件后转到此链接 #define ITC_CONTENT_PROVIDER_SHARED_SECRET @"your secret here" 您想在此处输入您的共享密码,这是由苹果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2011-10-05
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多