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

时间:2013-06-03 08:48:34

标签: ios subscription in-app-purchase

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

情况: 我有各种订阅套餐,用户可以订阅(例如,套餐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 个答案:

答案 0 :(得分:3)

<强> EDITED

对于第二个问题,Apple的自动更新订阅系统在技术上并未在不同产品之间提供的可升级计划

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

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

enter image description here

因此,基本上用户实际可以更改订阅长度的唯一位置是在App Store中。 Apple是否决定对旧订阅中剩余的金额进行评级,或者只是将其添加到当前版本中,这取决于Apple。您需要通过阅读每个收据条目中的原始购买日期订阅到期日期字段并确定开始,确保用户有权访问订阅。和订阅的结束日期。

答案 1 :(得分:3)

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

  • status - 如果收据有效,则为0,或者错误代码为
  • receipt - 收据的JSON回复
  • latest_receipt(仅限自动续订) - 最新续订的基本64位编码收据
  • latest_receipt_info - latest_receipt
  • 的JSON版本

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

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

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:1)

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

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

每当用户在一个月之间升级他的计划时,他的升级计划将从下个月开始自动运行。

答案 4 :(得分:0)

回答你的问题#1

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

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

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

&安培;

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

答案 5 :(得分:0)

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