iphone - 应用内购买,多个具有不同持续时间的自动续订订阅

标签 iphone ios ipad in-app-purchase

有关应用内购买自动续订订阅的问题:

我不清楚如何处理用户购买多个不同期限的订阅的情况。 Apple 似乎会识别用户是否已经购买了给定的 SKU(基于产品 ID)并阻止重新购买(在这种情况下我的应用程序会收到失败的交易事件),但如果我使用不同的方式提供相同的内容具有不同持续时间的产品 ID,则用户可能会购买两次或更多次。

即使我在用户订阅一次后隐藏了额外的购买选项,他们也可能会在备用设备上购买另一个订阅,并且该购买最终会/可能会恢复到已经订阅的另一台设备上。

我是否应该通过交易 ID 和产品 ID 跟踪购买的订阅,并计算最终到期日期?这看起来很复杂。

最佳答案

在我继续之前,请参阅 the comments on this linked post为什么使用自动续订订阅可能不是一个好主意。

如果你以前听过这个,请阻止我。
当您在 iTunes Connect 中选择 Auto-Renewable Subscriptions 时,您将有机会添加多个持续时间,将不同的产品 ID 添加到一个订阅 Family。 Apple 不允许用户在一个家庭中购买多个重叠的订阅期限。 (如果您在您的应用中使用了多个家庭,请解释原因,以便我可以根据此为您提供指导)。

事实上,Apple 不会让用户在同一个家庭中叠加不同期限的订阅。

这是一个例子。
我(作为用户)下载了假设的 Acme 应用程序并订阅了 1 个月的订阅。如果我什么都不做,我的订阅将在订阅期结束时自动续订 1 个月的订阅。等等。

但我又回去购买了 6 个月的订阅。 Apple 会告诉我(并提醒)我的 6 个月订阅将在我当前的 1 个月订阅完成后开始,我是否愿意继续。如果我同意,Apple 会记录下来,但在我当前的 1 个月到期之前他们不会向我收费。

现在,如果我再次返回并购买 1 年期订阅,Apple 会再次以警告响应,告诉我它将在我当前 1 个月的订阅结束时开始。它不会添加到即将到来的 6 个月订阅中。它将取代它。

总结
因此,用户只能有一个当前订阅和一个即将到来的订阅(在一个系列中)。这就是为什么您在订阅中使用一系列产品持续时间。如果您创建多个订阅系列,那么它们可以同时存在,你就会失去保护。

作为开发人员,如果您想手动延长、缩短、取消或叠加订阅,您应该使用非续订订阅。如果您阅读了我在顶部发布的链接,您会意识到 Apple 可能会强制您这样做。

关于iphone - 应用内购买,多个具有不同持续时间的自动续订订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086612/

相关文章:

iphone - 为什么我们在 iOS 方法名前加上 '+' 或 '-' 符号

javascript - 如何使用 javascript、css 检测浏览器/设备?

iphone - 解析 OBJ 文件

iphone - 单点触控 : How can I set the selected item(s) in a UIPickerView?

iphone - 为什么 CGImageCreateWithMaskingColors() 在这种情况下返回 nil?

iPhone MKMapView注释观察者可选择一次

iOS:LLDB 多行断点命令无法按预期工作

ios - Swift,来自 URL 的图像 - 在 Ipad 模拟器上质量很好,但在 Iphone 4s 模拟器上质量很差

ios - 检测 WKWebView 组件内的播放视频

ios - 如何修复 "Freeform Size simulated metrics are not available prior to Xcode 4.2"警告?