首页 文章

应用程序内购买自动续订订阅通知

提问于
浏览
12

我一直在阅读应用程序内购买自动续订订阅的各种主题,我想我已经将我需要的大部分信息拼凑在一起,但有一些缺失的部分 . 我希望有人可以帮助我 .

情况:我有各种订阅套餐,用户可以订阅(例如,套餐A每月1英镑,套餐B每月2英镑,等等) . 我将用户的订阅信息存储在我的数据库中 . 当用户登录时,我会检查他所在的软件包以及它是否已过期 . 我的网站,android和iOS都使用相同的数据库,因此这种方法似乎有意义 .

通过应用内购买订阅用户似乎很直接 . 我检查paymentQueue,一旦付款被清除,我可以更新我的数据库 .

我的问题:

1)我的理解是用户可以使用iTunes来管理他们的订阅 . 说,他们进入iTunes并取消订阅,我如何通知我,以便我可以更新我的数据库?我是否需要一个守护程序来检查过期的订阅以查看用户是否续订?

2)如果用户想要将他们的订阅从套餐A升级到套餐B,我该如何处理定价?比如1月1日,他们购买套餐A,我向他们收取1.00英镑,并将到期日设定为1月31日 . 1月15日,他们希望通过应用内购买升级到套餐B.理想情况下,我会向他们收取2英镑的套餐B减去他们对套餐A的0.50英镑的信贷,并将新的到期日设定为第14日 . 但是,Apple强迫我将每个包与一个价格相关联 . 我怎么处理这个?我不希望用户等到月末将它们放在更高层的包装上......如果他们在月中升级,则意味着他们希望新的内容包B将立即交付给他们 .

任何帮助赞赏!

谢谢!

6 回答

  • 1

    enter image description here
    实际上,Apple的自动更新订阅系统确实提供了可升级的计划 .

    为实现这一目标,我们只需在现有的Auto-Renewable Subscription中添加持续时间 . 每个自动续订订阅都可以是订阅系列,因此每当开发人员想要实现订阅升级时,他应该在现有的自动续订订阅中添加具有不同productID的持续时间 .

    每当用户在一个月之间升级他的计划时,他的升级计划将在下个月自动生效 .

  • 3

    1)是的,您必须重新验证收据,请查看Receipt Validation Programming Guide in the documentation . 他们提到一些重要的关键:

    • status - 如果收据有效,则为0,或者为错误代码

    • receipt - 收据的JSON响应

    • latest_receipt (仅限自动续订) - 基于最近续订的64位编码收据

    • latest_receipt_info - latest_receipt 的JSON版本

    有了这些信息,在进行购买时,将收据发送到您的后端进行验证,后端会将收据保留在数据库中,并通过status = 0验证它是否是有效收据 . 从那里开始,每隔_443672天您就可以使用计时工作,守护程序等验证该收据并重新验证 . 每次回复都会有 latest_receipt_info ,您现在需要保存到您的数据库,以便在 x 天内获得下一次检查的最新收据 . 这样您将始终拥有最新收据 . 没有即时通知告知用户何时取消订阅,但如果他们仍然订阅,您将知道每隔_443675天 .

    2)不幸的是,这样的定价无法处理 . 用户不打算使用订阅“升级” - 在撰写本文时,每个订阅都可以访问它自己的独家内容 . 但是,如果客户通过电子邮件发送电子邮件并对其进行投诉,您可以询问他们的用户名,并在数据库中找出该用户是否已在月中升级并适当报销 . 非常老派,对于庞大的用户群来说是不可行的,但希望你不会有那么多,并且可以让他们开心 .

  • 0

    我们需要检查取消 - 收据中提供的日期 .

  • 2

    回答问题1,您可以像其他IAP一样验证订阅收据,但是您需要定期检查订阅是否已过期(验证将告诉您它是否已过期) .

    这里有关于Apple文档的更多信息:

    http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html

  • 3

    回答你的问题#1

    最近,Apple推出了一项功能,可在订阅续订时启用服务器通知 . 但是,订阅应该是应用内的 .

    请参阅以下链接以供参考:

    https://help.apple.com/itunes-connect/developer/#/dev0067a330b

    https://itunespartner.apple.com/en/apps/news/45333106?sc_cid=ITC-AP-ENREC

  • 0

    EDITED

    对于第二个问题,Apple的自动更新订阅系统在技术上并不提供可升级的计划 between different products .

    每个订阅都是独立产品,用户可以使用iTunes Store中的Subscription Manager手动打开/关闭订阅 .

    但是,如果包A和包B提供的完全相同的内容只有不同的ajay_nasa所说的正确的持续时间,您可以创建一个具有不同持续时间选项的单一自动订阅产品 . 如果用户订阅了1个月,然后用户尝试更改为2个月订阅,则会收到以下错误消息,要求他们转到App Store的订阅管理器

    enter image description here

    因此,基本上只有用户可以通过从每个收据条目中读取 Original Purchase DateSubscription Expiration Date 字段并确定订阅的开始和结束日期来实际更改订阅's length is in the App Store. Whether Apple decide to pro-rate the amount left on the old subscription or just append it to the current one is really up to Apple. You need to make sure the user have access to the subscription as long as it'的活动位置 .

相关问题