1

我已经实现了一个本地收据验证例程来提取订阅的到期日期,并且它工作正常。但是我很难找出收据何时自动更新以及何时应该强制刷新。

我有几个关于此事的问题

1) SKPaymentQueue.default() 是否会被 Apple 外部更新?还是仅在本地设备上触发事务时才更新?

2) 我们能否确定在购买自动更新订阅产品后,收据会自动更新?我是否应该在确认购买后使用 SKReceiptRefreshRequest() 更新收据 paymentQueue(_ queue: SKPaymentQueue, updated Transactions transactions: [SKPaymentTransaction])

或者在购买完成后,我可以直接从收据中读取新的到期日期,而无需调用 SKReceiptRefreshRequest()?

请注意,我询问的是从 Apple 服务器刷新收据,而不是验证或读取过期日期。

3) 如果用户在续订日期取消订阅或付款方式失败,Apple 是否会自动更新应用收据,或者我应该在每次应用启动时使用 SKReceiptRefreshRequest() 请求刷新收据以检测订阅取消?

4) 当自动续订订阅成功续订时,Apple 是否会自动更新应用收据,或者我应该在每次应用开始获取新收据时使用 SKReceiptRefreshRequest() 请求刷新收据,以便在收到新收据时获取新的到期日期发生续约?

5) 使用 SKReceiptRefreshRequest() 请求刷新收据是否每次都要求用户提供他们的 App Store 凭据?

如您所见,我的主要困惑是何时需要强制 ReceiptRefresh 以及何时可以依靠 SKPaymentQueue 或 StoreKit 自动更新它。

欢迎任何见解。

4

0 回答 0