非续订订阅是否需要恢复button?

我的应用程序被拒绝,因为在应用程序购买不恢复的恢复button。 我必须删除还原button吗? 如果我必须这样做,那么用户将如何恢复他的购买。请帮助。

不更新订阅是可消费的。 所以他们不能恢复。 因此恢复button是没有意义的。 您还需要某种用户的身份validation/login系统。 (详细说明见下文)

资料来源:

  • 应用程序购买中的消费品与非消费品
  • 不更新订阅
  • WWDC2017更新:在会话#303中, App Store工程师Pete Hare在3:00解释说,不续约订阅可以被视为“具有失效date的易耗品”

在评论中有一些辩论,不更新订阅是否可以消费,所以我想说一说。 “消耗品”意味着您可以多次使用它们。 就像IP语音电话应用中的“30分钟的通话”一样。 另一方面,有非消耗品,你只能买一次。 就像在游戏应用程序中解锁所有关卡一样。 你购买一次,当你重置设备并重新下载应用程序,你应该能够恢复购买,所以你不必支付两次解锁所有级别。 此外,如果您在这种情况下不点击恢复button,但只需再次购买“解锁所有级别”包,它就可以工作,但是您不会再次被苹果收取费用。 这就是为什么它被称为非消耗品。 这是一种metapher。 一个苹果是“消费品”。 一旦消耗,它就消失了。 椅子是非消耗性的。 只要你不摧毁或放弃它,你就拥有它。

因此,将不更新的订阅视为非消费品是有意义的。 如果你再次购买,你不应该支付两次,你应该使用已有的旧订阅。 如果您重置设备,则应该可以在重新下载应用程序后恢复订阅。 恢复是不是由苹果,而是由应用程序本身。

我仍然认为不更新订阅作为消耗品。 我使用消费品与非消费品的简单定义: 应用程序内购买是可消费的,从StoreKit API的angular度来看,它可以在同一周内由同一用户多次购买。 所有易耗品IAP项目都无法通过StoreKit进行恢复。 所有非易损件IAP项目都可以通过StoreKit进行恢复。

因此,开发人员自己负责恢复不续约订阅的应用程序内购买,对吧? 不,对不起。 应用程序将如何恢复应用程序内购买的非续订订阅? 假设我有一个iPod,我订阅了一个月的Foo- radio。 现在我也想在我的iPad上听Foo-Radio。 所以,我在我的iPad上安装Foo-App,然后点击“恢复”button。 那么…什么是“恢复”button应该做的? 如何知道我是否已经购买了“Foo” – 订阅与否,还有多长时间? 答:不可以。 这种方法不起作用。

为了使续订订阅工作,您必须先login用户,以将订阅绑定到某个在线帐户。 用户名/密码,Open-ID,通过Gmail,Facebook等login都可以。 然后,当用户购买nr订阅时,您必须存储他在某个服务器上订阅的事实,并将其链接到他在服务器上的帐户。 您还必须防止用户在尚未login时购买nr订阅。让我们继续上面的iPod / iPad示例。 我在iPad上下载应用程序,我用Facebooklogin,瞧,我现在可以使用“Foo” – 订阅。 不需要“还原”button,因为应用程序应该在login时检查用户拥有哪些订阅。

会有一些额外的问题需要处理。 (1)例如,没有任何东西阻止用户login到200个设备。 这里的问题不是拥有200台设备的用户,而是拥有1000名学生的大学,180名学生共享同一个帐户。 (2)如果服务器崩溃,有些人可能会失去他们的订阅。 问题(1)可能会导致收入下降。 问题(2)会导致愤怒和不快乐的顾客。

来自苹果公司的消息:“不可续订的订阅,不涉及提供情节内容的订阅,例如访问历史照片的数据库或者收集飞行地图,应用程序有责任在用户的所有设备上提供订阅并允许用户恢复购买这种产品types通常用于您的用户已经在您的服务器上有一个帐户,您可以使用它来识别它们在恢复内容时。订阅的有效期限和持续时间也留给您的应用程序(或你的服务器)执行和执行。“ [斜体和大胆添加] https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Products.html