2011-05-27 76 views
0

我期待this線程。自動更新訂閱在測試模式下自動更新時是否會發送SKPaymentTransactionStatePurchased/Restored事務?

據稱App Store調用paymentQueue併發布了一個交易transaction.transactionState==SKPaymentTransactionStateRestored

但我沒有收到這些電話。我正在測試

  1. 與​​帳戶/訂閱,即過期並每3分鐘自動更新;
  2. 沒有驗證收據。

這樣,我的updatedTransaction方法永遠不會在第一次購買後調用。

無論如何,如果我稍後恢復已完成的交易,我將獲得所有收據。

任何使用沙盒的經驗?另外,點2)是需要的還是(我認爲)它是可選的?

回答

3

狀態:SKPaymentTransactionStateRestored只有在用戶設備上有收據並用於交易時纔會確定。如果您沒有收據,則需要致電restoreCompletedTransactions以決定是否應用自動續訂訂閱。

當您沒有收據時,用戶購買auto-renewable訂閱,然後刪除應用或將應用安裝到其他設備上。在其他情況下,您可以安全地將收據存儲在設備上。

問題是當用戶購買auto-renewing訂閱並需要激活內容時檢測情況。沒有收據,如果您觸發交易,它將失敗,狀態爲SKPaymentTransactionStateFailed。看看錯誤代碼,你會看到SKErrorPaymentCancelled。據我所知,這是蘋果方面的一個錯誤。您需要爲您的應用做出最佳決策來處理它:/