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

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

我不清楚如何处理用户购买不同持续时间的多个订阅的情况。 看来,如果用户已经购买了一个给定的SKU(基于product-id)并且防止重新购买(在这种情况下,我的应用程序获取了一个失败的事务事件),苹果公司就会认识到这一点,但是如果我使用不同的方式提供相同的内容产品id具有不同的持续时间,则用户可以潜在地购买两次或更多次。

即使一旦用户订购了一次,我就隐藏了额外的购买选项,但是他们可能会在替代设备上购买另一个订购,并且该购买将最终可以恢复到已经订购的其他设备。

我应该通过交易ID和产品ID跟踪购买的订阅,并计算最终到期date? 这似乎很复杂。

在继续之前,请查看关于此链接post的评论,说明为什么使用自动续订订阅可能是一个糟糕的主意。

如果你之前听说过这个,就阻止我。
当您在iTunes Connect中selectAuto-Renewable Subscriptions时,您有机会添加多个持续时间,并将不同的产品ID添加到一个订阅Family 。 苹果不允许用户在一个家庭内购买多个重叠的订阅期限。 (如果你在你的应用中使用多个家庭,请解释推理,所以我可以给你提供指导)。

事实上,苹果公司不会让用户在一个家庭内堆积不同的订阅期限。

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

但是,我反而购买了6个月的订阅。 苹果会告诉我(提醒)我的6个月订阅将在我目前的1个月订阅完成后开始,我想继续。 如果我说是的话,苹果会记下来的,但是直到我现在1个月的时间里,它们才会收取我的费用。

现在,如果我再次回来购买1年的订阅,那么苹果会再次回应,并告诉我,它将在我目前的1个月订阅结束时开始。 它不会被添加到即将到来的6个月的订阅。 它将取代它。

综上所述
因此,用户只能拥有一个当前订阅和一个即将订阅(在一个family内),这就是为什么您在订阅中使用一系列产品持续时间的原因,如果您创build了多个订阅系列,那么它们可以同时存在,并且失去了这种保护。

如果作为开发人员,您想手动扩展,缩短,取消或堆叠订阅,则应该使用非续订订阅进行。 如果你阅读我发布在顶部的链接,你会发现苹果可能会强迫你这样做。