XcodeでのStoreKitテスト

XcodeでのStoreKitテストを使用すると、サンドボックスアカウントを設定することなく、アプリ内課金をローカルでテストできます。

このテストを行うには、次の手順が必要です:

  1. Adaptyでプロダクトを作成しApp Store product ID を割り当てます。
  2. Xcodeで、ローカルの StoreKit設定ファイル を作成し、プロダクトを追加します。プロダクトIDは、AdaptyのApp Store product IDと同じである必要があります。
  3. StoreKit設定ファイルをビルドスキーマに追加し、アプリをビルドします。エミュレータまたはデバイスで起動してください。

XcodeでのStoreKitテストを使うべきか?

このテスト方法は、ビルドをその場でテストしたい、またはXcodeの機能を使ってさまざまな購入シナリオをテストしたいアプリ開発者に最も便利です。

ただし、このテストはローカルで行われるため、Adaptyダッシュボードには変更が表示されないことを覚えておいてください。本番環境でアプリを公開する前に、サンドボックス環境を使用してプロファイルの操作をテストすることをおすすめします。

StoreKitテストを使うべき場合:

  • 購入ロジックをテストしたい
  • Xcodeのツールを使ってさまざまな購入シナリオを再現したい(例:キャンセルされた支払いや返金)
  • エミュレータを使ってテストしたい

StoreKitテストを使うべきでない場合:

  • プロファイル関連のロジックをテストしたい
  • アプリ内での操作がAdaptyダッシュボードに反映されるか確認したい
  • 開発チーム以外とアプリを共有してテストしたい

ステップ1. StoreKit設定ファイルを作成する

StoreKit設定ファイルを作成するには、Xcodeで以下の手順を実行します:

  1. File > New > File from template をクリックします。次に、StoreKit Configuration File を選択して Next をクリックします。
new-sk.webp
  1. ファイル名を入力します。次に、App Store Connectにすでにプロダクトがあるかどうかに応じて:

    • Sync this file with an app in App Store Connect を選択:App Store Connectのすべてのプロダクトを含む設定ファイルを作成し、ローカルでテストできるようにします。
    • Sync this file with an app in App Store Connect を選択しない:空の設定ファイルを作成し、プロダクトを手動で追加する必要があります。

    Next をクリックします。

sync-sk.webp
  1. アプリをターゲットとして追加しないでください。そのまま進んでください。App Store Connectから同期されたプロダクトを使用している場合は、ステップ2に進んでください。
  2. App Store Connectからプロダクトを同期していない場合は、左下の + をクリックして、プロダクトタイプを選択します。
add-product-sk.webp
  1. サブスクリプショングループ名を入力し、Next をクリックします。
subscription-group-sk.webp
  1. 参照名を入力します。Product ID フィールドに、AdaptyのプロダクトのApp Store product IDを入力します。
id-sk.webp
  1. 設定ファイルで価格、オファー、その他のプロダクト設定を構成します。または、さらにプロダクトを追加します。
local-sk.webp

ステップ2. 設定ファイルをビルドスキームに追加する

この設定ファイルを使ってアプリをビルドするには、ビルドスキームに追加する必要があります。テスト用と本番用のスキームを分けるのがベストプラクティスなので、テスト用に新しいスキームを作成することをおすすめします:

  1. 上部のアプリ名をクリックして、New scheme を選択します。
new-scheme.webp
  1. スキームの名前を入力し、OK をクリックします。
scheme-name.webp
  1. アプリ名を再度クリックし、Edit scheme を選択します。StoreKit configuration でローカルの設定ファイルを選択すると、ビルド時に使用されます。
sk-config.webp

ステップ3. ビルドとテスト

これで、App Storeバックエンドに接続することなくアプリをビルドし、アプリ内課金をテストできます。プロダクトを購入し、ローカルでアクセスレベルを取得できます。これらの変更はAdaptyダッシュボードには反映されませんが、有料機能のアンロックをローカルでテストすることは引き続き可能です。

XcodeでのStoreKitテストで利用できる他の機能については、こちらをご覧ください。

sk-pay.png