2017-09-21 10 views
10

アップルがiOS 11でプロモート済みのアプリ内購入を導入しました。新しい必須SKPaymentTransactionObserverメソッド、paymentQueue:shouldAddStorePayment:for:を実装しましたが、 " アイテム。 Sandboxテスト環境でテストして購入することはできますか?ios11でプロモートされたアプリ内購入をテストする方法

Appleは、フォームのURLを通じてテストを開始することについて議論が行われます。

ITMS-サービス://?アクション= purchaseIntent & bundleId = com.example.app & productIdentifier = com.example.app.myIAP

URLを自分でメールに入れました。 MyAppのに切り替え)

1、およびshouldAddStorePaymentは私の製品識別子を持つ製品、com.example.app.myIAP(奨励スタート)

と呼ばれている:私はURLをクリックすると、私は次のシーケンスを取得します2)paymentQueue:shouldAddStorePayment:for:trueを返します。

3)paymentQueue:updatedTransactions: "購買"(ただし購買されていない)状態のトランザクションで呼び出されます。これは、無名のtransactionIdentifierを持っています。

4)[サインインする]という警告が表示されます。 Apple IDを使用してサインインします。ログイン時に「購入」ボタンを押すと警告が表示されます。

5)サインインに別のポップアップが表示されます。 Apple IDを使用してサインインします。ログイン時に「購入」ボタンを押すと警告が表示されます。

6)paymentQueue:updatedTransactions:トランザクションが「失敗」状態で呼び出されました。これには、無制限のtransactionIdentifierがあります。

shouldAddStorePaymentルーチンは何か余分なことをしていますか?

答えて

1

私は上記のように限られたテストでアプリを提出しました。そして、私はプロモーション内アプリ購入の実際の購入を行うことができました。

しかし、チキンと卵のシナリオがあります。アイテムが店舗に置かれたので、App Storeからローカル/デバッグビルドとテストを実行できます。しかし、私はまた、いくつかのサンドボックスユーザーIDを試してみることを試みました。

以下は今できることです。

1)App Storeにアクセスしてログアウトします。

2)あなたのアプリを構築して実行し、購入を復元する - サンドボックスユーザーID /パスワードでログインする。

3)あなたのアプリを見つけ、あなたのサンドボックスユーザーは、現在のApp Store(サンドボックスユーザーにApp Storeに直接ログインしていないか、そのユーザーが機能しなくなります。)

4)にログインしていることを確認し、プロモートされた機能を備えたアプリ内購入セクションを見つけます。プロモート済みのアプリ内購入機能を選択します。

5)あなたのアプリが読み込まれています。ちょっとした後、次のような警告が表示されます:あなたのアプリ内購入の確認---- XXXXを$ 0.99で購入しますか? --- [環境:サンドボックス] ----キャンセル/購入

6)購入後、警告が表示されます。すべて設定されています。 ----あなたの購入は成功しました。----- [環境:サンドボックス] ---- OK

7)サンドボックスユーザーが既に購入したアイテムでこれを行うと、次のような警告が表示されます。もう一度無料で入手しますか? ---- [環境:サンドボックス] ----キャンセル/ OK

上記のポイントは、あなたが受け取った領収書タイプの項目ではなく、以前に見たような警告メッセージが表示されることですあなたが本当の購入をするとき。

これは役に立ちますが、初めての回答ではありません。

関連する問題