首页 文章

iOS沙箱环境自动续订订阅

提问于
浏览
23

关于iOS自动续订订阅,我有以下问题

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

b)我们是否需要调用restoreCompletedTransactions来获取自动扩展订阅的新收据,或者是-paymentQueue:updatedTransactions:iOS自动调用的方法? (我猜它会自动调用'启动'和'旋转出背景'不确定)

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

2 回答

  • 28

    a)沙箱环境中的自动续订订阅不一致 . 有时订阅会在结束前多次续订(约5次) . 其他时候它根本不会更新 .

    b)(仅限iOS6交易收据)如果您要存储以前的收据(最好在您的服务器上),则无需调用 restoreCompletedTransactions 来检查订阅的状态 . 只需收到've stored for that user and submit it to the App Store for verification. They'将使用 latest_receipt_info 回复的任何订阅收据,包括 expires_date ,您可以使用它来确定当前订阅状态 .

    c)您应该提示 new users 到"Restore Previous Purchases",此时您调用restoreCompletedTransactions . 然后将其中一个收据(最好是从您的服务器)提交到App Store进行验证,以获得有关交易的已解码详细信息 . 在收据信息中查找密钥 original_transaction_id . 这将始终包含此用户第一次向您发起订阅时的ID . 如果您将此ID与系统中的其他ID进行比较,则应该能够确定哪些设备共享Apple帐户 . (由于Apple没有_984434的Apple ID,因此这是识别跨多个设备的帐户的最佳方式) .

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

  • 8

    除此之外,Apple的文档中的这一行似乎被误解了

    续订速度加快,自动续订订阅每天最多续订六次 . 这使您可以测试您的应用如何处理订阅续订,订阅失效以及包含差距的订阅历史记录 .

    这似乎意味着每天所有订阅只会续订6次 . 而不是每个订阅将在取消之前续订6次 . 这让我感动了一阵子 .

    它似乎也是在24小时内 . 在给定时间不清爽 . 例如,我在上午11点订阅了没有续订的订阅 . 我在下午2点又做了一次,续约了6次 .

相关问题