メニューに進む

Configure iOS サンドボックス テスト

GitHub

必要な前提条件

  • Apple Developer Program: 年間更新が必要な有効な会員資格
  • 契約: 銀行と税務情報を入力した「有料アプリケーション契約」に署名
  • Xcode Project: 正しいバンドル識別子と機能を持つ構成

セットアッププロセス

セットアッププロセス
  1. アプリケーションに対する有料契約を署名する

    App Store Connectに移動し、 契約、税金、銀行 を完了する

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

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

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

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

    をクリックする + sandbox テスト用の新しいボタンを作成します。

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

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

    sandbox テスト用の新しい作成

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

    iOS 12 以降では、iTunes アカウントからサインアウトする必要がなくなりました。

    iOS デバイス上で

    1. Open 設定
    2. タップ App Store
    3. 下にスクロール
    4. タップ サンドボックスアカウント
    5. サンドボックステストアカウントでサインイン
  4. Xcode Projectを設定

    Xcodeプロジェクトに次の条件を確認

    Bundle Identifier

    • 開発者センターの識別子と一致する必要があります
    • __CAPGO_KEEP_0__

    インアプリ購入機能

    1. Xcodeでプロジェクトを選択してください
    2. 署名 & 機能
    3. をクリック 機能
    4. 追加 インアプリ購入
  5. インアプリ購入商品を作成する

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

    サンドボックステストのために、商品は「準備完了」状態でなければなりません。

  6. 実装をテストする

    テストデバイスでアプリをビルドして実行してください。購入を試みると、次のようになります。

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

    この確認は、実際の金銭の請求を避けるためにサンドボックス環境にいることを示しています。

  • 実際の請求なし: サンドボックスモードではすべての購入が無料です
  • 加速されたサブスクリプション: サブスクリプションの期間が短縮され、テストを高速化します
    • 1 週間サブスクリプション = 3 分
    • 1 か月サブスクリプション = 5 分
    • 2 か月サブスクリプション = 10 分
    • 3 か月サブスクリプション = 15 分
    • 6 か月サブスクリプション = 30 分
    • 1 年サブスクリプション = 1 時間
  • 自動更新制限サンドボックス環境でサブスクリプションが自動更新されるのは最大 6 回
  • 即時キャンセルキャンセルされたサブスクリプションは即時有効

サンドボックスアカウント管理

サンドボックスアカウント管理
  • 複数のテストアカウントを作成して異なるシナリオをテスト
  • テストアカウントはテスト用デバイスのみで使用
  • sandboxテストでは、個人用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. sandboxバナー 購入時:[環境:sandbox]
  2. 製品の読み込み 成功
  3. 購入が完了 実際の請求なし
  4. 領収書の検証 正しく
  5. 自動更新 (加速された更新速度) トラブルシューティング

セクション名 “トラブルシューティング”

製品の読み込みに失敗しました:

バンドル識別子が App Store Connect と一致していることを確認してください

  • __CAPGO_KEEP_0__
  • 契約が署名され、承認されていることを確認する
  • 製品が少なくとも「提出可能」状態であることを確認する
  • 製品を作成した後2-3時間待つ

“Cannot connect to iTunes Store”:

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

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

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

__CAPGO_KEEP_1__エラー:

  • テスト用にサンドボックス受領検証エンドポイントを使用してください
  • __CAPGO_KEEP_2__エンドポイント: https://buy.itunes.apple.com/verifyReceipt
  • __CAPGO_KEEP_3__エンドポイント: https://sandbox.itunes.apple.com/verifyReceipt
  • Capacitorプラグインは自動的にこの処理を実行します

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

  • サンドボックスではサブスクリプションが加速されることを覚えておいてください
  • 期待される期間の表を上に参照してください
  • サンドボックスではサブスクリプションが最大6回自動更新されます

"iTunes Storeでまだ使用されていないこのApple ID":

  • サンドボックスアカウントが新しい場合、これは正常です
  • 購入を進めてアカウントを有効化
  • 初回使用のみ発生
  1. 複数のテストアカウントを作成 異なるテストシナリオ用
  2. すべてのサブスクリプション期間をテスト 動作を確認する
  3. キャンセルと再契約のフロー 受け取り確認の検証
  4. 正しく動作することを確認する']} targetLanguage
  5. 購入の復元テスト 機能
  6. サブスクリプションのアップグレード/ダウングレードを確認する 動作
  7. ネットワーク環境が悪い場合のテスト
機能サンドボックス本番環境
実際の請求なしYes
サブスクリプション期間加速通常
自動更新制限6回無制限
キャンセル効果即時期間終了
受領エンドポイントサンドボックスURL生産用URL
テストアカウントのみはいいいえ

詳細については、公式の Apple StoreKitドキュメントを参照してください サンドボックステストについて。

「iOSサンドボックステストの設定から続けてください」タイトルのセクション iOSサンドボックステストの設定 ストアの承認と配布を計画するには、を接続してください。 @capgo/native-purchasesを使用して native capabilityの@capgo/native-purchasesを使用して @capgo/capacitor-in-app-reviewを使用して @capgo/capacitor-in-app-reviewの実装詳細を参照してください。 @capgo/capacitor-in-app-reviewを使用して native capabilityの@capgo/capacitor-in-app-reviewを使用して @capgo/capacitor-native-marketを使用して @capgo/capacitor-native-marketの実装詳細を参照してください。 @capgo/capacitor-native-marketを使用して native capabilityの@capgo/capacitor-native-marketを使用して