iOS サンドボックス テストを設定する
インストールステップとフルマークダウンガイドのセットアッププロンプトをコピーしてください。
iOS上のインアプリ購入のテストには、App Store Connectとテストデバイスの設定が適切に構成されている必要があります。このガイドでは、サンドボックステストに必要なすべてのことをカバーしています。
前提条件
「前提条件」というセクション- Apple Developer Program: 年間更新の有効な会員資格
- 契約: 銀行情報と税務情報を完了した「有償アプリケーション契約」に署名
- Xcode Project: バンドル識別子と機能が適切に設定されています。
セットアッププロセス
セクション「セットアッププロセス」-
有料アプリケーション契約を署名する
App Store Connectで 契約、税金、銀行 を参照し、以下を完了してください:
- 有料アプリケーション契約を署名する
- 銀行情報を追加する
- __CAPGO_KEEP_0__
Appleから情報の承認を待つ必要があります (24-48時間かかる場合があります)。
-
__CAPGO_KEEP_0__
App Store Connectにアクセスし、 ユーザーとアクセス > サンドボックステスター.
__CAPGO_KEEP_0__ + 新しいサンドボックステスターを作成するためのボタンをクリックします。
重要Apple IDに関連付けられているメールアドレスを使用しないでください。メールアリセイを使用できます:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
テストデバイスを設定 (iOS 12+)
iOS 12以降では、iTunesアカウントからサインアウトする必要がなくなりました。購入テストを行うために。
iOSデバイスで:
- 開く 設定
- タップ App Store
- 下部までスクロール
- タップ サンドボックスアカウント
- サンドボックステストアカウントでサインイン
-
Xcode Projectの設定
Xcodeプロジェクトに次の条件を確実に設定してください:
Bundle Identifier
- 開発者センターに登録した識別子と一致する必要があります
- App Store Connectに登録した識別子と一致する必要があります
In-App Purchase Capability
- Xcodeでプロジェクトを選択してください
- Go to Signing & Capabilities
- Click + 能力
- 追加 アプリ内課金
-
アプリ内課金商品の作成
App Store Connectでアプリを選択し、サブスクリプションや消耗品などのアプリ内課金商品を作成してください。
商品は、サンドボックステストのために少なくとも「提出可能」状態でなければなりません。
-
実装のテスト
テストデバイスでアプリをビルドして実行してください。購入を試みると、以下のような表示が見られるはずです。
[環境: サンドボックス]
この確認は、実際の金銭がかかる環境ではありませんことを示しています。
重要な注意事項
「重要な注意事項」のセクションサンドボックス環境の特徴
サンドボックス環境の特徴のセクション- 実際の料金はかかりませんサンドボックスモードではすべての購入が無料です
- 高速化されたサブスクリプションサブスクリプションの期間が短縮され、テストが速くなります
- 1週間のサブスクリプション = 3分
- 1か月のサブスクリプション = 5分
- 2か月のサブスクリプション = 10分
- 3か月のサブスクリプション = 15分
- 6か月のサブスクリプション = 30分
- 1年のサブスクリプション = 1時間
- 自動更新制限: サンドボックス内でサブスクリプションが最大 6 回自動更新されます
- 即時キャンセル: キャンセルされたサブスクリプションは即時有効期限切れとなります
サンドボックスアカウント管理
サンドボックスアカウント管理- 異なるシナリオ用に複数のテストアカウントを作成する
- テストアカウントはテストデバイスのみで使用する
- サンドボックステストでは個人のApple IDを使用しない
- テストアカウントは地域に関係なく任意の製品を購入できる
サンドボックステストの使用
サンドボックステストの使用import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit not supported on this device');}
// Fetch products (automatically uses sandbox when available)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Make test purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);設定が正しく行われている場合、次のことが観察されるべきです。
- サンドボックスのバナー 購入時: '[環境: サンドボックス]'
- 製品が読み込まれます 正常に
- 購入が完了 実際の請求なし
- 領収書が正しく検証される 正しく
- サブスクリプションの更新 自動的に加速された速度で更新されます
トラブルシューティング
トラブルシューティング製品が読み込まれない:
- App Store Connectのバンドル識別子が一致することを確認してください
- 契約が署名され承認されていることを確認してください
- 製品が少なくとも「提出可能」状態であることを確認してください
- 製品を作成した後2-3時間待ってください
「iTunes Storeに接続できません」:
- サンドボックスアカウントが正しく設定されていることを確認してください
- デバイスがインターネットに接続されていることを確認してください
- sandboxアカウントでサインアウトしてからサインインしてください
- アプリを再起動してください
購入が静かに失敗しています:
- Xcodeコンソールでエラーメッセージを確認してください
- In-App購入機能が有効になっていることを確認してください
- 実際のApple IDではないsandboxアカウントのメールアドレスであることを確認してください
- 新しいsandboxテストアカウントを作成してみてください
レシート検証エラー:
- テスト用にsandboxレシート検証エンドポイントを使用してください
- Productionエンドポイント:
https://buy.itunes.apple.com/verifyReceipt - sandboxエンドポイント:
https://sandbox.itunes.apple.com/verifyReceipt - native-purchasesプラグインは自動的にこの処理を実行します
間違ったサブスクリプション期間:
- サンドボックスではサブスクリプションが加速されることを思い出してください
- 期待される期間のための変換表を上に使用してください
- サンドボックスではサブスクリプションが最大6回自動更新されます
“このApple IDはまだiTunes Storeで使用されていません”:
- 新しいサンドボックスアカウントの場合にのみ通常のことです
- 購入を続行してアカウントを有効化してください
- 最初の使用時のみ発生します
ベストプラクティス
「ベストプラクティス」のセクション- 複数のテストアカウントを作成してください 異なるテストシナリオ用に
- すべてのサブスクリプション期間をテストして動作を確認する 動作を確認するために
- キャンセルと再契約のフローをテストする フロー
- 受領検証が正しく機能することを確認する 正しく機能することを確認する
- 購入の復元機能をテストする 機能
- サブスクリプションのアップグレード/ダウン グレードの動作を確認する 動作
- ネットワークの悪い条件下でテストする
本番環境とサンドボックスの比較
生産環境 vs サンドボックス| 機能 | サンドボックス | 生産環境 |
|---|---|---|
| 実際の請求額 | No | Yes |
| サブスクリプション期間 | 加速 | 通常 |
| 自動更新制限 | 6回 | 無制限 |
| キャンセル効果 | 即時 | 期間終了 |
| 受領エンドポイント | サンドボックスURL | 生産URL |
| テストアカウントのみ | はい | いいえ |
追加リソース
「追加リソース」セクション詳細については、 公式のApple StoreKitドキュメントを参照してください サンドボックステストについては、
Configure iOS Sandbox Testingセクションから続けてください
「Configure iOS Sandbox Testingセクションから続けてください」StoreKitを使用している場合、 StoreKitを使用してストアの承認と配信を計画している場合、 native-purchases@__CAPGO_KEEP_0__/native-purchases native-purchases@capgo/native-purchasesのネイティブ機能に接続してください native-purchases@capgo/native-purchases @capgo/capacitor-in-app-review for the implementation detail in @capgo/capacitor-in-app-review, Using @capgo/capacitor-本誁警习 for the native capability in Using @capgo/capacitor-in-app-review, @capgo/capacitor-本誁宝义都 for the implementation detail in @capgo/capacitor-native-market, and Using @capgo/capacitor-本誁宝义都 for the native capability in Using @capgo/capacitor-native-market.