【问题标题】:Does Non-Renewing subscription requires a restore button?非续订订阅是否需要恢复按钮?
【发布时间】:2014-07-18 20:31:36
【问题描述】:

我的应用被拒绝,因为在应用购买中未续订的恢复按钮。我必须删除恢复按钮吗?如果我必须这样做,那么用户将如何恢复他的购买。请帮助。

【问题讨论】:

  • 您只能恢复非消耗性应用内购买。您是否尝试恢复应用内购买的消耗品?在测试过程中,你有没有用你的恢复按钮恢复任何东西?
  • 它们不是消耗品,它们必须是可恢复的,但如果苹果不喜欢它,我删除了我的答案,所有 cmets 和文档只是 RTFM(但最后:做审查团队想要)
  • @Daij-Djan 我更新了我的答案以使其更全面......
  • 能否提供具体的苹果拒绝信。我想看看细节。

标签: ios ios7 in-app-purchase xcode5


【解决方案1】:

非续订订阅是消耗品。因此它们无法恢复。因此,恢复按钮毫无意义。您还需要为用户提供某种身份验证/登录系统。 (详细解释见下文。)

来源:


在 cmets 中存在一些关于非续订订阅是否可消耗的争论,所以我想说一下。 “消耗品”意味着您可以多次消耗它们。就像 IP 语音电话应用程序中的“30 分钟通话”一样。另一方面,有些非消耗品只能购买一次。就像您解锁游戏应用程序中的所有级别一样。你购买一次,当你重置设备并重新下载应用程序时,你应该可以恢复购买,这样你就不必支付两次来解锁所有级别。此外,如果您在这种情况下不点击恢复按钮而只是再次购买“解锁所有级别”包,它可以工作,但苹果不会再次向您收费。这就是为什么它被称为非消耗品。这是某种隐喻。苹果是“消耗品”。一旦被消耗,它就消失了。椅子是非消耗品。只要您不破坏或放弃它,您就拥有它。

因此,将非续订订阅视为非消耗性订阅是有意义的。如果你第二次购买,你不应该支付两次,你应该使用你已经拥有的旧订阅。如果您重置设备,您应该能够在重新下载应用程序后恢复订阅。恢复不是由 Apple 完成,而是由应用程序本身完成。

我仍然认为非续订订阅是消耗品。我使用了一个简单的消耗品与非消耗品的定义:应用内购买是消耗品,从 StoreKit API 的角度来看,它可以在同一周内被同一人多次购买 无法通过 StoreKit 恢复所有可消耗的 IAP 项目。所有非消耗性 IAP 项目都可以通过 StoreKit 恢复。

所以,开发者自己负责恢复非续订订阅的应用内购买,对吗?不,对不起。应用如何恢复非续订订阅的应用内购买?假设我有一部 iPod,并且订阅了 1 个月的 Foo-radio 收听。现在我还想在我的 iPad 上收听 Foo-Radio。 Soo,我在 iPad 上安装了 Foo-App 并点击“恢复”按钮。嗯......“恢复”按钮应该做什么?它怎么知道我是否已经购买了“Foo”订阅,以及它仍然有效的时间?答:不能。这种方法行不通。

为了使非续订订阅生效,您必须先登录用户,将订阅绑定到某个在线帐户。用户名/密码、开放 ID、通过 Gmail、Facebook 等登录都可以。然后,当用户购买 n-r 订阅时,您必须将他订阅的事实存储在某个服务器上并将其链接到他在服务器上的帐户。您还必须阻止用户在尚未登录时购买 n-r 订阅。让我们继续上面的 iPod/iPad 示例。我在我的 iPad 上下载了该应用程序,我使用 Facebook 登录,瞧,我现在可以使用“Foo”订阅了。不需要“恢复”按钮,因为应用程序应在登录时检查用户拥有哪些订阅。

还有一些额外的问题需要处理。 (1) 例如,没有什么能阻止用户登录 200 台设备。这里的问题不是拥有 200 台设备的用户,而是拥有 1000 名学生的大学,其中 180 名学生共享同一个帐户。 (2) 如果服务器崩溃,有些人可能会失去订阅。问题(1)可能导致收入减少。问题 (2) 可能导致客户愤怒和不满意。

【讨论】:

  • 是否可以取消非续订订阅?当客户致电 Apple 并取消 Non Renewing 订阅时会发生什么?如何知道哪笔交易已被 Apple 取消并退还给客户。我们想停止为这些客户订阅
  • @Monish 我有时会收到不可续订的订阅退款(就像通常的退款一样)。
  • 这个答案是错误的。苹果定义了哪些产品类型是消耗品,它们的定义不同。正如 Chris Prince 在他的回答中提到的,您必须允许用户恢复此类购买。
  • @Theo:我很久以前就写了答案。从理论上讲,它可能不是 100.0% 正确的。但是,我是一个实践者,我试图给出正确、实用和有用的指导。我的回答解释了开发人员应该如何处理非经常性订阅。该建议是有效的。用户不关心购买被称为“消耗品”还是“非消耗品”。但他们确实在意,当他们应该只收费一次时,他们不会被收费两次。我描述的过程是实现这一目标的唯一方法。对我来说,一个非 r.-s。仍然是“消耗品”,我的理由在文章中解释了。
  • 是的,我的回答非常正确,而不仅仅是几乎正确。在this WWDC2017 talk Apple 工程师 Pete Hare 中称非续订订阅是“一种带有到期日期的消耗品”(如果您不想观看整个视频,请在 3:00 位置)
【解决方案2】:

来自 Apple:“不可更新订阅。订阅不涉及提供情节内容。示例包括访问历史照片数据库或飞行地图集合。您的应用有责任在所有用户的设备并让用户恢复购买。当您的用户在您的服务器上已经有一个帐户,您可以在恢复时使用该帐户来识别他们时,通常会使用此产品类型内容。订阅的到期和持续时间也留给您的应用程序(或您的服务器)来实施和执行。” [斜体加粗体]https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Products.html

【讨论】:

  • 假装非续订订阅提供对历史照片数据库的访问权限,并且我的应用程序允许用户下载此类照片以离线查看,订阅到期后我应该如何处理这些下载的照片?我可以从设备中删除它们吗?
  • 您可能希望首先提示用户续订订阅 - 并获得更多收益! :)。在那之后,我认为这真的取决于你。
  • @Stafox 我实施了可更新订阅。但是,我很确定,如果任何订阅到期,您有权以您喜欢的方式限制对付费数据的访问,除非用户再次付费。
  • @Stafox,我可能会保留用户对付费数据的访问权限,直到我确定订阅确实过期了
  • @Tim 谢谢。我也想过这样做。很高兴听到我并不孤单。
【解决方案3】:

Apple Reviewer 关于非续订订阅的当前类似回复“您的应用提供非续订订阅,并且这种可购买性类型必须具有自己的恢复功能 - 如果您已将其删除,请重新实现它。此外,您的应用还必须提供帐户创建等功能,以便可以在用户的​​所有设备上跟踪购买情况。请在重新提交修改后的二进制文件以供审核之前实现登录功能和恢复机制。”

【讨论】:

  • 我一直在寻找关于这个问题的最新更新(因为我发现的大多数帖子都是 2016 年之前的)。感谢分享
猜你喜欢
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多