2017-02-10 153 views
2

我正在將應用內購買添加到我的應用中。 我對此有些疑惑。如何處理? 我們是否需要在這個狀態下實現自己,否則蘋果公司會處理這個問題?如何處理SKPaymentTransactionStateDeferred?

如果我們應該實施手段如何在這裏處理? 如何使用沙箱測試儀帳戶進行測試? 有人告訴我清楚。提前致謝。

回答

1

據蘋果StoreKit文件,延緩狀態是: -

該交易是在排隊,但其最終地位正在等待外部動作,如詢問購買。更新您的用戶界面以顯示延遲狀態,並等待另一個指示最終狀態的回調。

我們得到的交易延緩狀態,如果用戶是蘋果家人分享&家族管理員啓用問買的一部分。

當兒童用戶嘗試購買應用內商品時,會向父用戶發送請求以進行審批。家長用戶在Ask to Buy流程開始後有24小時批准或取消孩子的購買。如果家長未能在24小時內回覆,「Ask to Buy」請求將從iTunes Store服務器中刪除,並且您的應用的觀察者不會收到任何通知。

您應該更新您的用戶界面以反映這種延遲狀態。避免在等待交易更新時阻止您的用戶界面或遊戲玩法。

沙盒環境,我們可以通過SKMutablePayment像測試延緩狀態: -

let product = SKMutablePayment(product: productDetails) 
product.simulatesAskToBuyInSandbox = true //Enable to test deferred state. 
SKPaymentQueue.defaultQueue().addPayment(product) 

有關信息:

的iOS 8引入了詢問購買,這讓父母批准兒童發起的任何購買交易,包括App Store上的應用或應用內購買。當孩子要求購買時,Ask to Buy會通過發送Deferred狀態表明該應用正在等待父母對該購買的批准。