XCode 16.2 日本語化計画
サンドボックス環境で実際の製品情報とサーバ間取引を使用して、アプリ内購入の実装をテストします。
Apple サンドボックス環境を使用して、App Store Connect からの実際の製品情報を持つデバイスで StoreKit フレームワークを使用するアプリ内購入の実装をテストします。サンドボックス Apple アカウントを使用して App Store にあなたがサインインすると、開発署名済みアプリはサンドボックス環境を使用します。あなたのアプリは Xcode からビルドして実行します。
App Store Connect で Sandbox Apple アカウントを作成するには、Sandbox Apple Accountの作成 を参照してください。
Sandbox 環境で App Store サーバ通知を有効にするには、App Store サーバ通知の有効化 (Enabling App Store Server Notifications) を参照してください。あなたのアプリをテストすると、サーバはアプリ内購入取引の通知を受け取ります。通知ペイロードは、data オブジェクトの environment プロパティで Sandbox 環境を識別します。可能な通知の一覧については、notificationType を参照してください。
サンドボックス環境でアプリ内購入のテストを開始する前に、以下の点を確認してください:
詳細については、App Store Connect のワークフロー および アプリ内課金の設定の概要 を参照してください。
サンドボックス Apple アカウントを使用してあなたのアプリを実行するには、Xcode からあなたのアプリをビルドして実行します。
iOS および iPadOS では、開発署名されたアプリでデバイスを使用して初めて購入を試みた後、サンドボックスアカウントが [Setting(設定)] > [Developer(開発者)] に表示されます。サンドボックス以外の Apple アカウントからサインアウトする必要はありません。サンドボックス Apple アカウントを使用してサインインしてください。
macOS では、デバイスを使用して初めてアプリ内購入を行うと、サンドボックスアカウントが App Store 設定に表示されます。[App Store] > [Setting(設定)] を開き、[Sign In(サインイン)] ボタンをクリックして、サンドボックス Apple アカウントを使用してサインインします。テストが完了したら、App Store Setting からサンドボックス Apple アカウントをサインアウトします。
開発署名済みアプリで初めて購入する場合は、あなたのサンドボックス Apple アカウントを使用して App Store にサインインし、テストを開始します。サインインすると、[Environment: Sandbox] (環境: サンドボックス) というテキストが表示され、テスト環境に接続したことが示されます。[Environment: Sandbox] が表示されない場合は、製品の環境を使用しています。
App Store Connect を通じて作成したアプリ内製品は、すべての App Store 地域で販売できます。特定の地域で利用できる製品 ID のリストを維持することもできます。同じ Sandbox Apple アカウントを使用して複数の地域でアプリ内購入をテストするには、App Store Connect を開き、Sandbox Apple アカウントをクリックして、App Store の国または地域の設定を変更します。詳細については、Sandbox Apple Accountの設定の管理 を参照してください。
App Store Connect で地域を変更した後に storefront (店頭) を有効にするには、デバイス上の Sandbox Apple アカウントからサインアウトし、再度サインインします。テスターには、彼らの Sandbox Apple アカウントに割り当てられた地域に適したアプリ内購入が表示されます。App Store の国または地域の設定を変更すると、アプリの店頭の値に影響します。詳細については、Storefront および SKStorefront   廃止   を参照してください。
同じ Sandbox Apple アカウントを使用して繰り返したテストを管理しやすくするために、App Store Connect または iOS のアカウント設定から購入履歴を消去することができます。iOS デバイスで、以下の手順に従います。
App Store Connect から購入履歴を消去する方法については、Sandbox Apple Accountの設定の管理 を参照してください。
購入回数が多い Sandbox Apple アカウントの購入履歴をクリアするには、時間がかかる場合があります。プロセスが完了すると、取引履歴は空になり、Sandbox Apple アカウントはお試しオファーの対象となります。Sandbox Apple アカウントでログインしたテスターは、重複購入をすることなく、以前にサブスクライブしていたサブスクリプションを購入できます。
サンドボックス設定を使用すると、テスト環境を制御してあなたのテストを設定できます。設定は、App Store Connect または iOS アカウント設定の好みのどちらかで管理できます。どちらの方法を選択しても、設定はサンドボックスに同じように影響します。ただし、一部の設定は App Store Connect でのみ使用できます。以下の表は、両方のプラットフォームの設定を比較したものです。
サンドボックスの設定または機能 | App Store Connect で 利用可能 | iOS で 利用可能 |
サンドボックス Apple アカウントを作成または削除 | はい | いいえ |
サンドボックステストファミリーを作成または削除 | はい | いいえ |
サンドボックステストファミリーからメンバーを削除 | はい | いいえ |
店頭の国または地域を変更 | はい | いいえ |
サブスクリプションの更新頻度を変更 | はい | はい |
中断された購入を有効にする | はい | はい |
サンドボックス Apple アカウントの購入履歴を消去 | はい | はい |
サンドボックステストファミリーメンバーの共有ステータスを変更 | はい | はい |
アプリで再獲得提供シートを表示するかどうかを選択 | いいえ | はい |
iOS のアカウント設定にアクセスするには、iOS デバイス上で以下の手順に従います。
App Store Connect でのサンドボックス設定の管理に関するすべての側面については、Sandbox でのテストの概要 を参照してください。
あなたのアプリの ID 取得プロセスを検査または複製して、アプリが正しい製品 ID を受け取っていることを確認します。
あなたのアプリが無効な製品 ID を正しく処理していることを確認します。
App Store の応答を検査して、サンドボックス環境で製品のリクエストが適切に機能することを確認します。
サブスクリプションの購入、更新、オファーや販売促進コードの引き換えなど、アプリ外で発生する取引をあなたのアプリが受信して処理していることを確認します。
あなたのアプリ外で行われたものも含め、あなたのアプリが再獲得提供取引を受信して処理していることを確認します。
支払い取引を検査して呼び出すことで、あなたのアプリが中断された購入を処理することを確認します。
課金の再試行または課金の猶予期間の状態にある、失敗したサブスクリプションの更新、および失敗したアプリ内購入をあなたのアプリが処理できることを確認します。
支払い取引監視者への呼び出しを検査して、サンドボックス環境での支払い要求が適切に機能することを確認します。
サンドボックス環境内の加速時間率を使用して、あなたのアプリがサブスクリプションの失効を適切に処理していることを確認します。
取引のコールバックを受信するか、更新されたレシートを検査して、あなたのアプリが期限切れのサブスクリプションを再度アクティブ化できることを確認します。
ユーザがサブスクリプションをキャンセルしたときに、レシートを確認するか通知を受信して、あなたのアプリがサブスクリプションの更新を受信することを確認します。
家族のメンバーが家族間共有で共有する自動更新サブスクリプションと非消費型アプリ内購入をあなたのアプリが処理できることを確認します。
アプリの払い戻し要求の実装と、承認された払い戻しと拒否された払い戻しのあなたのアプリとサーバによる処理をテストします。
サンドボックス環境で App Store サーバ通知サービスが適切に応答することを確認します。
ブレークポイントを使用して、あなたのアプリが支払い取引監視者をアクティブにすることを確認します。
取引を検査して、あなたのアプリがサンドボックス環境で取引を正常に実行できることを確認します。
ダウンロード可能な購入があなたのテストデバイスに存在することを確認して、アプリが取引を適切に完了することを確認します。
Xcode とサンドボックスを使用した開発のすべての段階でのテスト
開発全体を通してあなたのコードをテストして、アプリ内購入の実装を検証します。
アプリの払い戻し要求の実装と、承認された払い戻しと拒否された払い戻しのあなたのアプリとサーバによる処理をテストします。
テスト環境用にあなたが構成した再獲得提供のアプリによる処理を検証します。