コンテンツにジャンプ

iOSサンドボックステストの設定

GitHub

iOSでインストール購入をテストするには、App Store Connectとテストデバイスに適切な設定が必要です。このガイドでは、サンドボックステストを始めるために必要なすべての内容をカバーしています。

  • Apple Developer Program:
  • アクティブな会員資格契約
  • : 銀行と税金に関する情報を含む「有料アプリケーション契約」に署名
  1. セットアッププロセス

    App Store Connect に移動し、 契約、税金、銀行 を完了してください:

    • 有料アプリケーション契約に署名する
    • 銀行情報を追加する
    • 税金の書類を完了する

    Apple が情報を承認するのを待つ (24-48 時間かかる場合があります)。

  2. サンドボックステストユーザーを作成する

    App Store Connect に移動し、 ユーザーとアクセス > サンドボックステスター.

    新しいサンドボックステスターを作成するボタンをクリックする + button to create a new sandbox tester.

    重要: Sandbox テスト用に、Apple ID と関連付けられていないメールアドレスを使用してください。メールアリセイを使用できます。

    • Gmail: youremail+test@gmail.com
    • iCloud: youremail+test@icloud.com

    サンドボックステスターを作成

  3. テストデバイスを設定 (iOS 12+)

    iOS 12 以降では、iTunes アカウントからサインアウトする必要はなくなりました。購入テストを行うためにサインアウトする必要はありません。

    iOS デバイスで

    1. 開く 設定
    2. タップ App Store
    3. 下部までスクロール
    4. タップ サンドボックスアカウント
    5. サンドボックステストアカウントでサインイン
  4. Xcodeプロジェクトの設定

    Xcodeプロジェクトには次の条件を満たす必要があります:

    バンドル識別子

    • 開発者センターの識別子と一致する
    • App Store Connectの識別子と一致する

    In-App Purchase Capability

    1. Xcodeでプロジェクトを選択してください
    2. Go to 署名と機能
    3. Click +機能
    4. Add In-App Purchase
  5. In-App Purchase Productsの作成

    App Store Connectでアプリを選択し、インアプリ購入商品を作成してください(サブスクリプション、消耗品など)。

    商品は少なくとも「提出準備完了」状態でなければなりません。

  6. 実装をテストしてください

    アプリをテスト用デバイスでビルドして実行します。購入を試みたときに、次のようになります:

    [環境: サンドボックス]

    この確認は、サンドボックス環境内で実行されていることを示し、実際の金銭的負担は発生しません。

重要な注意事項

重要な注意事項

サンドボックス環境の特徴

サンドボックス環境の特徴
  • 実際の請求は発生しません: サンドボックスモードではすべての購入が無料です
  • 高速化されたサブスクリプション: サブスクリプションの期間は短縮され、テストを高速化します
    • 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 purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

設定が正しくなったら、次のことを確認してください

  1. サンドボックスバナー 購入時:「[環境:サンドボックス]」
  2. 製品の読み込み 成功
  3. 購入が完了しました 実際の請求は発生しません
  4. レシートが正常に検証されました 正しく
  5. 自動更新が行われます (加速された速度) トラブルシューティング

トラブルシューティング

製品が読み込まれません:

App Store Connect の bundle identifier が一致していることを確認してください

  • 契約が署名され、承認されていることを確認してください
  • トラブルシューティング
  • 製品は少なくとも「提出可能」状態であることを確認する
  • 製品を作成した後2-3時間待つ

“Cannot connect to iTunes Store”:

  • サンドボックスアカウントが正しく設定されていることを確認する
  • デバイスがインターネットに接続されていることを確認する
  • サンドボックスアカウントからログアウトし、再度ログインする
  • アプリを再起動する

購入が静かに失敗している:

  • Xcodeコンソールでエラーメッセージを確認する
  • In-App Purchase機能が有効になっていることを確認する
  • サンドボックスアカウントのメールアドレスが実際のApple IDではないことを確認する
  • 新しいサンドボックステストアカウントを作成してみる

受信証明書のエラー:

  • テスト用にサンドボックス受信証明書のエンドポイントを使用する
  • 本番エンドポイント: https://buy.itunes.apple.com/verifyReceipt
  • サンドボックスエンドポイント: https://sandbox.itunes.apple.com/verifyReceipt
  • native-purchases プラグインは自動的にこの処理を行います

サブスクリプションの期間が間違っている:

  • サブスクリプションはサンドボックスで加速されるため、覚えておいてください
  • サンドボックスでサブスクリプションが自動更新される最大回数は6回です
  • 「このApple IDはまだiTunes Storeで使用されていません」:

新しいサンドボックスアカウントの場合、これは正常です

  • 購入を続行してアカウントを有効にします
  • サンドボックスでサブスクリプションの期間を確認するには、上の表を参照してください
  • 初回使用時のみ発生
  1. 複数のテストアカウントを作成 異なるテストシナリオ用
  2. すべてのサブスクリプション期間をテスト 動作を確認する
  3. キャンセルと再契約のフロー 受領証の検証
  4. 正しく動作することを確認 購入の復元をテスト
  5. Capgo 機能
  6. サブスクリプションのアップグレード/ダウングレードを確認する 動作
  7. 不良ネットワーク条件でテストする

本番環境 vs. サンドボックス

セクション: 本番環境 vs. サンドボックス
機能サンドボックス本番環境
実際の請求いいえはい
__CAPGO_KEEP_0__期間__CAPGO_KEEP_0__加速__CAPGO_KEEP_0__通常
__CAPGO_KEEP_0__自動更新制限__CAPGO_KEEP_0__6回__CAPGO_KEEP_0__無制限
__CAPGO_KEEP_0__キャンセル効果__CAPGO_KEEP_0__即時__CAPGO_KEEP_0__期間終了
__CAPGO_KEEP_0__受領エンドポイント__CAPGO_KEEP_0__サンドボックスURL__CAPGO_KEEP_0__本番URL
テストアカウントのみはいいいえ

詳細については、公式の Apple StoreKitドキュメント サンドボックステストについての説明

「iOSサンドボックステストの設定を続ける」から続けてください

「iOSサンドボックステストの設定を続ける」のセクション

Capacitorを使用している場合 「iOSサンドボックステストの設定を続ける」 ストアの承認と配布を計画するには、を接続します。 Using @capgo/native-purchases for the native capability in Using @capgo/native-purchases, @capgo/capacitor-in-app-review for the implementation detail in @capgo/capacitor-in-app-review, Using @capgo/capacitor-in-app-review for the native capability in Using @capgo/capacitor-in-app-review, @capgo/capacitor-native-market for the implementation detail in @capgo/capacitor-native-market, and Using @capgo/capacitor-native-market for the native capability in Using @capgo/capacitor-native-market.