我正在努力改变我现有的iOS 10+应用程序,以提供自动续订订阅。
虽然“正常”订阅(没有介绍性报价)在我的应用程序和服务器上(收据验证和用户帐户处理)都很好,但我很难理解如何提供免费试用期。
在App连接中设置免费试用期是没有问题的,但我不知道如何在我的应用程序和服务器上实现它。
问题1:理解合格
来自苹果公司的文档:
您可以向以前没有收到给定产品或同一订阅组中的任何产品的介绍性报价的客户提供介绍性报价(.) 在提供介绍性价格之前,您必须先确定用户是否有资格获得它(.) 若要确定用户是否有资格获得介绍性报价,请检查其收据.
假设我已经安装了一个7天免费试用版的订阅。用户购买此订阅,使用免费试用,并在订阅被取消之前继续付费订阅一段时间。一段时间后,希望继续订阅。
如果用户再次购买相同的订阅产品会发生什么?
换句话说,:
检查资格只需要以显示正确的UI (=授予待遇是/否由商店检查)还是确保用户不会从相同的待遇中受益(=授予待遇是/否是由app检查的)?
问题2:如何检查资格?
正如苹果文档中所描述的,检查申请资格的最佳方法是验证应用程序收据,并检查是否收到了介绍性报价。这应该尽早完成,最好是在应用程序开始时。
好的,但据我所知,收据是没有保证的。如果找不到收据,用户必须首先提供应用程序商店凭据才能下载收据.
如果应用程序在第一次启动时做的第一件事就是要求用户登录商店,那将是非常恼人的。
,这真的是预期的实现吗?
问题3:如何处理资格?
假设我已经成功地检查了用户是否有资格获得报价:如何提供报价?
我是否必须在App中设置两种不同的订阅产品(一种是免费试用的,另一种没有)才能让用户购买其中一种或另一种?
或者只需要进行资格检查就可以显示正确的UI(“现在就购买免费试用”还是“立即购买”),而我可以在这两种情况下使用相同的产品吗?
发布于 2019-09-25 19:01:46
问题1:理解资格
他将被立即收取订阅费。免费试用只能使用一次。
问题3:如何处理资格?
号您只需设置一个产品并添加介绍性报价(免费试用或介绍性报价)
,它只用于显示正确的CTA和消息传递。归根结底,商店(苹果)是决定用户是否免费试用的人。
若要检查用户的资格,需要将收据传递给服务器。然后,您的服务器可以查询苹果的解码收据(/verifyReceipt端点)。在解码收据中,检查latest_renewal_info列表中的所有txn。如果您发现is_in_free_trial字段对于同一订阅组中的任何产品都是正确的,那么您可以安全地假设用户以前使用过免费试用,并向用户显示了正确的消息传递。
此外,即使在每个订阅组下的所有产品都启用了免费试用,用户也只能获得一次免费试用。。
我同意苹果在查询产品时会提供应用程序本身的资格。但相信我,没有一个应用商店提供这些信息,包括谷歌。
对于登录,收据总是存在于沙箱位置,并可以从那里检索。(此外,如果用户没有登录,也要考虑用户不能购买订阅)
https://stackoverflow.com/questions/57511546
复制相似问题