我有一个Mac应用程序,其中包含两个非消耗性的应用程序内购买:
是否要致电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,但并未明确说明收据是否在所有情况下均已更新。