記事
サンドボックス環境での再獲得提供のテスト
あなたのアプリ外で行われたものも含め、あなたのアプリが再獲得提供取引を受信して処理していることを確認します。
概観
App Store Connect で自動更新サブスクリプションの再獲得提供を設定したら、サンドボックス環境でのテストを開始できます。再獲得提供は複数の方法で販売でき、顧客は App Store、サブスクリプション設定の Apple アカウント、あなた独自の販売チャネル、あなたのアプリでオファーを見つけて利用できます。あなたのアプリ内では、再獲得提供シート、StoreKit ビュー、その他の StoreKit API を使用して完全にカスタマイズし、再獲得提供を販売できます。
サンドボックステスト環境を使用して、以下の方法で再獲得提供の引き換えをシミュレートできます。
アプリ外で
顧客は、App Store で、直接リンクを通じて、または Apple アカウントのサブスクリプション設定で再獲得提供を利用できます。iOS のサンドボックスアカウント設定の取引テスト機能を使用して、アプリ外で再獲得提供の利用をシミュレートできます。テストアカウントが再獲得提供の資格がある場合、システムによって再獲得提供が適用されます。
アプリ内で、再獲得提供シートを使用して
あなたのアプリで再獲得提供の利用をシミュレートするには、iOS でのアカウント設定で [再獲得提供シートを表示] トグルをオンにします。アプリをあなたが起動すると、システムによって、Message API の winBackOffer reason を使用して再獲得提供シートが表示されます。テストアカウントは、サンドボックス環境でオファーの資格がある必要があります。このオプションは、iOS 18 および iPadOS 18 以降で実行されているアプリでのみ使用できます。
アプリ内で、StoreKit ビューまたはあなたのカスタムコードを使用して
サンドボックス環境でテストアカウントをオファーの対象にするには、手順に従ってください。StoreKit ビューを使用するアプリの実装、または StoreKit API を使用したあなたのカスタムコードを実行します。StoreKit ビューは、表示すべきオファーを自動的に選択します。
結果として生じる取引をあなたのアプリで処理します。StoreKit は、Transaction の updates 非同期シーケンスを通じてそれらを配信します。
注意
TestFlight テストでは、StoreKit ビューまたはその他の StoreKit API を使用してあなたの実装した場合にのみ、再獲得提供をテストできます。再獲得提供シートと App Store 経由の引き換えは、TestFlight でのテストには使用できません。
他の種類のオファーや取引も、あなたのアプリの外部で発生する可能性があります。テスト情報については、アプリ外での購入をテストする を参照してください。また、App Store Connect の構成に依存しない Xcode で再獲得提供をテストすることもできます。詳細については、Xcode で再獲得提供をテスト を参照してください。
App Store Connect とアカウント設定で再獲得提供のテストを設定
サンドボックス環境でテストを開始する前に、App Store Connect を使用して、少なくとも 1 つの自動更新サブスクリプションと少なくとも 1 つの再獲得提供を構成します。あなたのテストで使用するために、自動更新サブスクリプションの製品 ID と対応する再獲得提供 ID をメモしておきます。
注意
App Store Connect で製品メタデータに加えた変更はサンドボックス環境に反映されるまでに最大 1 時間かかる場合があります。
iOS デバイス上で、[Account Setting (アカウント設定)] を開いて、以下のようにテスト環境を設定します。
- [Setting (設定)] を開いて、[Developer (開発者)] を選択します。
- Sandbox Apple アカウントを選択します。まだサインインしていない場合は、Sandbox Apple アカウントで App Store にサインインする を参照してサインインしてください。ポップオーバーが表示されます。
- ポップオーバー上で [Manage (管理)] を選択します。アカウント設定ページが表示されます。
- [Allow Purchases & Renewals (購入と更新を許可)] トグルがオンのままになっていることを確認します。オフの場合、すべての購入が失敗し、別のテストケースを表します。詳細については、サブスクリプションの更新とアプリ内購入の失敗をテストする を参照してください。
- [Win-Back Offer Sheet (再獲得提供シート)] トグルをオンまたはオフにします。オンにすると、Message API がアプリの起動時に Win-Back Offer Sheet を表示できるようになります。オフにすると、顧客がオファーの対象であってもシートが表示されなくなります。このトグルはサンドボックスのテストにのみ影響します。どちらの場合も、StoreKit は Transaction の updates 非同期シーケンスを通じて新しい取引をあなたのアプリに配信します。
資格条件を準備
サンドボックス環境では、テストアカウントは有効期限切れのサブスクリプションがある場合、自動的に再獲得提供の対象となります。アカウントはサブスクリプションを所有している必要があります。ファミリー共有を通じてアクセスできるアカウントは、再獲得提供の対象にはなりません。また、アカウントには同じサブスクリプショングループのアクティブなサブスクリプションが存在できません。
Sandbox Apple アカウントを再獲得提供の対象にするには、以下の手順に従います。
- 再獲得提供のサブスクリプションと同じサブスクリプショングループのサブスクリプションをすべてキャンセルします。
- テストアカウントに、同じサブスクリプショングループ内のファミリー共有によるアクティブなサブスクリプションがある場合、そのサブスクリプショングループ内の再獲得提供の対象にはなりません。アカウントを対象とするには、ファミリーグループを脱退するか、ファミリーとのサブスクリプションの共有を停止します。
- サブスクリプションの有効期限が切れるまで待ちます。デフォルトでは、サンドボックス内での月間サブスクリプションは 5 分で期限切れになります。詳細については、Sandbox Apple Accountの設定の管理 を参照してください。
- テスト中の再獲得提供がある自動更新サブスクリプションをサブスクライブします。
- サブスクリプションをキャンセルし、有効期限が切れるまで待ちます。
- アプリを閉じます。
これで、サンドボックス Apple アカウントは、サンドボックス環境での再獲得提供の対象となります。
テストを繰り返すには、これらの手順を繰り返します。
アプリ外で再獲得提供の利用をテストする
アプリ外で再獲得提供の引き換えをシミュレートするには、以下の手順に従います。
- 前のセクションの手順を完了します。App Store Connect とアカウント設定で再獲得提供のテストを設定 し、資格条件を準備 します。あなたのアプリを閉じます。
- [Account Setting (アカウント設定)ページ] ([Settings (設定)] > [Developer (開発者) > サンドボックス Apple アカウント > [Manage (管理)] で、Test Transaction (取引テスト) を選択します。
- 該当するテキストボックスに、自動更新サブスクリプションの製品 ID とバンドル ID を入力します。
- [Win-Back ID (再獲得提供 ID)] テキストボックスに再獲得提供 ID を入力します。再獲得提供 ID は、App Store Connect であなたが構成した、製品に対する有効なオファーである必要があります。
- システムは、サンドボックス環境用の App Store [Sandbox] 支払いシートを表示します。購入を確認します。
- あなたのアプリを起動します。StoreKit は、updates の非同期シーケンスで取引を提供します。
- あなたのアプリが再獲得提供取引を受信して処理することを確認します。
注意
サンドボックス環境では実際の支払いは処理されません。代わりに、システムが正常に処理したかのように取引が返されます。
再獲得提供シートを使用してアプリ内でオファーの引き換えをテストする
あなたのアプリで再獲得提供の引き換えをシミュレートするには、以下の手順に従います。
- 前のセクションの手順を完了します。App Store Connect とアカウント設定で再獲得提供のテストを設定 し、資格条件を準備 します。あなたのアプリを閉じます。
- アカウント設定ページ (Setting (設定) > Developer (開発者) > Sandbox Apple アカウント > Manage (管理) ) で、再獲得提供シートのトグル表示をオンにします。
- あなたのアプリを起動します。システムによって再獲得提供シートが表示されます。
- オファーを承諾します。システムはサンドボックス環境用の App Store [サンドボックス] 支払いシートを表示します。購入を確認します。
- あなたのアプリが再獲得提供取引を受信して処理することを確認します。
StoreKit ビューまたはカスタマイズしたコードを使用してあなたのアプリ内でオファーの利用をテストします
StoreKit ビューまたはその他の StoreKit API を使用して再獲得提供を販売し、体験を完全にカスタマイズする場合は、サンドボックス環境であなたの実装をテストできます。以下の手順に従います。
- 前のセクションの手順を完了して、テストアカウントが 1 つ以上の再獲得提供の対象であることを確認します。App Store Connect とアカウント設定で再獲得提供のテストを設定 し、資格条件を準備 します。アプリを閉じます。
- オプションで、アカウント設定ページ (設定 > 開発者 > サンドボックス Apple アカウント > 管理) で、再獲得提供シートのトグル表示をオフにして、再獲得提供シートが表示されないようにします。
- あなたのアプリを起動します。アプリのストアを開き、オファー API を実行します。
- StoreKit ビューは、表示するオファーを自動的に選択します。オファーが複数ある場合、あなたのアプリは preferredSubscriptionOffer(_:) API を使用して優先順位を示します。
アプリ内体験のカスタマイズの詳細については、あなたのアプリで再獲得提供を売り買いする (Merchandising win-back offers in your app) および あなたのアプリで再獲得提供をサポートする (Supporting win-back offers in your app) を参照してください。
テストを再開または終了する
テストを繰り返して同じ再獲得提供を利用するには、サブスクリプションをキャンセルして有効期限が切れるまで待ちます。サンドボックス環境のテストアカウントは、サブスクリプションの有効期限が切れた後、同じ再獲得提供の資格があります。
以下も見よ
支払い取引
アプリ外での購入をテストする
サブスクリプションの購入、更新、オファーや販売促進コードの引き換えなど、アプリ外で発生する取引をあなたのアプリが受信して処理していることを確認します。
中断された購入のテスト
支払い取引を検査して呼び出すことで、あなたのアプリが中断された購入を処理することを確認します。
サブスクリプションの更新とアプリ内購入の失敗をテストする
課金の再試行または課金の猶予期間の状態にある、失敗したサブスクリプションの更新、および失敗したアプリ内購入をあなたのアプリが処理できることを確認します。
支払い要求のテスト
支払い取引監視者への呼び出しを検査して、サンドボックス環境での支払い要求が適切に機能することを確認します。
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ