iOS 非消耗性购买是不是与使用帐户或设备绑定?

Posted

技术标签:

【中文标题】iOS 非消耗性购买是不是与使用帐户或设备绑定?【英文标题】:Is iOS non-consumable purchase tied with use account or device?iOS 非消耗性购买是否与使用帐户或设备绑定? 【发布时间】:2017-05-12 12:59:05 【问题描述】:

我正在尝试在 ios 中制作一个非消耗品购买系统。

我创建了两个沙盒测试帐户:用户 A 和用户 B。假设用户 A 购买了产品,删除并重新安装了应用程序。当他恢复时,他得到了预期的产品。

但假设我退出用户 A 的帐户并使用用户 B 的帐户登录在同一设备上,并且用户 B 尝试恢复。在这种情况下,预期的行为是什么也得不到,但他得到了用户 A 购买的产品。

我正在使用[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 用于恢复购买。 我不能使用[[SKPaymentQueue defaultQueue] restoreCompletedTransactionsWithApplicationUsername:username]因为我们没有登录系统。

额外信息:在真实设备上的沙盒环境中测试,最低 iOS 版本支持:8.0

【问题讨论】:

【参考方案1】:

基于帐户 Apple ID 而非设备的非消耗性 IAP 恢复。它可以帮助用户从任何设备上的应用中恢复 IAP。

并使用 [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];对我来说效果很好。

【讨论】:

您是否使用不同的帐户在同一设备上进行检查?对我来说,它也在恢复其他帐户的购买。 IAP 通过账户恢复,而不是通过同一设备。也许问题出在您的代码上。我建议您阅读此 tuts:IAP Tuts IAP 按帐户恢复,我知道这正在发生。你读过这个问题吗?您是否在同一设备上使用不同的帐户进行了检查。我调用相同的` [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; ` 它正在为我恢复设备上其他用户购买的东西

以上是关于iOS 非消耗性购买是不是与使用帐户或设备绑定?的主要内容,如果未能解决你的问题,请参考以下文章

尽管没有登录 iTunes 帐户,iOS 仍会恢复应用内购买

iOS应用程序开发之内购

iOS苹果内购(详细步骤)

尽管没有iTunes帐户登录,iOS仍会恢复应用内购买

ios app中是不是允许使用paypal购买非消耗品服务

如何清除测试设备上非消耗品的 iOS IAP 收据?