メニューに進む

Capgo Native Purchases リポジトリ

GitHub

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

前提条件

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

セットアッププロセス

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

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

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

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

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

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

    ボタンをクリックする + 新しいサンドボックス テスターを作成するボタン。

    重要使用するメールアドレスは、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 の識別子と一致する必要があります。

    イン アプリ 購入 能力

    1. Xcode でプロジェクトを選択してください
    2. Go to Signing & Capabilities
    3. Click + Capability
    4. Add イン アプリ 購入
  5. イン アプリ 購入商品を作成

    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 と一致していることを確認してください
  • 契約が署名され、承認されていることを確認する
  • 製品が少なくとも「提出可能」状態であることを確認する
  • 製品を作成した後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
  • ネイティブ購入プラグインは自動的にこの処理を行います

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

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

「このApple IDはまだiTunes Storeで使用されていません」:

  • 新しいサンドボックスアカウントの場合、これは正常です
  • 購入を完了してアカウントを有効化
  • 初回使用のみ
  1. 異なるテストシナリオ用に複数のテストアカウントを作成 異なるテストシナリオ用に複数のテストアカウントを作成する
  2. すべてのサブスクリプション期間をテスト 動作を確認する
  3. キャンセルと再契約のフローをテスト キャンセルと再契約のフロー
  4. 受け取り確認の検証 正しく動作することを確認する
  5. テスト購入の復元 機能
  6. サブスクリプションのアップグレード/ダウングレードの確認 動作
  7. ネットワークの悪い条件でのテスト

プロダクション vs. サンドボックス

セクション「プロダクション vs. サンドボックス」
機能サンドボックスプロダクション
実際の請求なしはい
サブスクリプション期間加速通常
自動更新制限6回無制限
キャンセル効果即時期間終了
受領エンドポイントサンドボックスURL本番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.