2017-02-10 28 views
2

私のアプリにアプリ内購入を追加しています。 私はこれにいくつかの疑問を持っています。SKPaymentTransactionStateDeferredの処理方法は?

SKPaymentTransactionStateDeferredの処理方法は? この状態で自分自身を実装する必要がありますか、Appleがこれを処理しますか?

実装する必要がある場合は、ここでどのように処理するかを指定しますか? サンドボックステスターアカウントでテストするにはどうすればよいですか? 誰も私にはっきりと教えてください。前もって感謝します。

答えて

1

アップルStoreKitの文書によると、繰延状態は次のとおりです。 -

トランザクションがキューにあるが、その最終的なステータスは、このような購入を依頼として保留外部アクションです。 UIを更新して延期状態を表示し、最終ステータスを示す別のコールバックを待ちます。

ユーザーが&家族の管理を共有アップルファミリーの一部である場合我々は、トランザクション延期状態を取得するには、を購入するASK有効。

子供のユーザーがアプリ内アイテムを購入しようとすると、承認のために親ユーザーにリクエストが送信されます。親のユーザーは、購入依頼プロセスが開始された後、子供の購入を承認またはキャンセルするのに24時間を要します。 24時間以内に親が応答しない場合、Ask to BuyリクエストはiTunes Storeサーバーから削除され、アプリのオブザーバーは通知を受け取りません。

この遅延状態を反映するようにUIを更新する必要があります。トランザクションが更新されるのを待っている間は、UIやゲームプレイをブロックしないでください。

サンドボックス環境では、我々は次のようにSKMutablePaymentを使用することによって延期状態をテストすることができます - 情報については

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

のiOS 8紹介は、購入を依頼されApp Storeでのアプリやアプリ内購入を含む、子供が開始した購入を両親が承認できるようにします。子供が購入をリクエストすると、「購入依頼」は、この状態の商品を「Deferred」に送信して、この購入に対する親の承認を待っていることを示します。

関連する問題