我正在实现一个自动更新订阅方案,其中收据验证将由我的服务器端代码处理。根据 Apple 的文档,我将从 获取收据数据NSBundle
,并将该数据传递到我的服务器,服务器将联系 Apple 以验证收据并通知应用程序有关结果。
现在我的问题与收据验证相关的必要流程有关:
如果用户购买订阅,我的收据是否会自动更新为购买的信息?如果是这样,是否有必要在购买后立即验证该收据,还是我应该立即“解锁”应用程序?
在什么情况下我的收据会丢失
NSBundle
?如果发生这种情况,我想我应该使用SKReceiptRefreshRequest
刷新收据,并将其发送到服务器进行验证。如果用户在不同的设备上安装应用程序并恢复他的购买
restoreCompletedTransactions
,我是否会同时自动获得收据?我想我需要在恢复后验证收据以确保有一个有效的订阅,对吗?当我的服务器尝试验证收据并且该收据无效时,应用程序端会发生什么?刷新收据(这将要求用户提供凭据)并再次将其传递给服务器以进行新的重新验证?