我们遇到了自动续订订阅的问题。 首先,我想从一开始就告诉你我的情况,完全理解我的问题。
所以,我有一个包含自动续订订阅的应用程序。我设法从我的应用程序购买产品,但我想从我的服务器验证收据。如果我理解得很好,那么我应该将收据数据发送到我的服务器,将收据数据发送给Apple并验证收据。
第一个问题是,我是否知道验证意味着我们向https://sandbox.itunes.apple.com/verifyReceipt发送了请求?
其次,如果我无法发送服务器的收据数据,会发生什么?我的意思是,在这种情况下,我应该在本地保存收据数据并尝试在不同的时间再次发送(我的应用程序可以在注册后使用,所以我必须将带有收据数据的用户ID发送到我的服务器)?
此外,iTunes连接中还有自动续订订阅的订阅状态URL。我们为此设置了一个网址,但我们没有收到Apple服务器的任何通知。我们按照Apple的文档(协议等)中的说明配置了服务器,但我们仍然没有收到任何通知。你有什么建议吗?
我是否清楚知道,如果发生任何状态更新更改,应自动发送通知?如果没有,那么我应该在我的应用程序或服务器上做什么? (例如,如何检测用户是否取消订阅?)
我是否必须实现这两种逻辑以获得最佳用户体验?
答案 0 :(得分:0)
要验证收据,您可以在Apple服务器上发送“可以”,因为您也可以在应用中验证收据。在这种情况下并不完全安全,因为有人可以攻击您的应用并篡改您的验证码
Apple有2种不同类型的服务器测试和生产,当你调试时你发送收据到测试服务器,这也意味着自动更新订阅有更短的时间,如果我记得一个月的测试是5分钟。
这在Apple documentation中很好地记录了。
即使收据是免费的,您的应用中也会始终显示收据。这取决于你如何管理这种情况,在我看来,收据应该从一开始就有效,直到服务器以不同的方式响应。
第三个问题尚不清楚。有一个系统可以刷新订阅,但据我所知,这应该通过用户许可完成,订购本身似乎已经由购买机制自动更新。
您必须实现所有逻辑来管理订阅,取消,撤销等。