SKPaymentQueue.restoreCompletedTransactions()是否不会更新应用的收据?

时间:2018-10-15 14:01:40

标签: macos cocoa in-app-purchase storekit

我有一个Mac应用程序,其中包含两个非消耗性的应用程序内购买:

  1. 免费的两周试用期
  2. 解锁Pro

是否要致电SKPaymentQueue.default().restoreCompletedTransactions()更新应用的收据?

在测试中没有,这使我感到困惑,因为我在Mac App Store中有另一个应用程序,我使用restoreCompletedTransactions,但从未收到用户的投诉。

现在,我正在测试以下情况:我将给出一个促销代码以解锁专业功能。在测试中,我兑换了代码,并通过SKPaymentQueue.default().restoreCompletedTransactions()通过应用恢复了购买。

查看日志,购买已成功恢复,但应用程序的收据未更新,仅包含免费试用IAP的条目。

当我从Mac App Store重新下载应用程序时,两个IAP收据都在应用程序的收据中。

我一直认为调用SKPaymentQueue.default().restoreCompletedTransactions()确实会更新应用的收据。这是错的吗?要正确恢复我的应用中的购买,我该怎么做?

要在我的应用中使用真正的“还原购买”功能,最好使用SKReceiptRefreshRequest吗?为什么我要使用RestoreCompletedTransactions?我很困惑...

*是的,我知道https://stackoverflow.com/a/41032497,但并未明确说明收据是否在所有情况下均已更新。

0 个答案:

没有答案