アプリ内課金のあるiOSアプリを開発してTestFlightでアプリを配信してテストしたのですが、アプリ内課金テスト手順がややこしかったので、うまくできたパターンをメモしておきます。
iOSアプリのアプリ内課金テストをするための準備
iOSアプリのアプリ内課金テストを行う場合、まず以下の準備を行います。
- 開発したiOSアプリをTestFlightやAdhocでテスターの端末にインストールする
- AppStoreConnectでSANDBOXテスターアカウントの準備・登録する
SANDBOXテスターアカウントの準備
アプリ内課金のテストを行う場合、AppStoreConnectにてテスターアカウントの登録を行う必要があります。
AppStoreConnectの「ユーザとアクセス」の画面にて、テスター>プラス印をクリックでテスターの追加が行えます。
このテスターアカウントはAppStoreでアプリをダウンロードしたりしているApple IDではなくAppleIDで使用していないメールアドレス、パスワード、秘密の質問を登録する必要があるようです。(既存のアップルIDではうまく登録できなかった)
iOSアプリのアプリ内課金テストの手順
準備ができたら、アプリ内課金テストを以下の手順で行います。
- 開発したiOSアプリをTestFlightやAdhocでテスターの端末にインストール
-
iPhoneの設定→「iTunes StoreとAppStore」→既にサイン済みのアカウントをサインアウトして端末を再起動
- 開発したiOSアプリで課金処理を行う(課金時入力するアカウントは先ほど登録したテストアカウント)
↓iPhoneの設定からサインイン済みのアカウントをサインアウトしておく
成功パターン
準備・手順が正しい場合、以下のような流れになります。
購入時以下のようなダイアログが表示されるので、テストアカウントを入力し、購入を押す(ベータテスト等の文言があるか確認する)
正常に処理されれば完了ダイアログが表示される
失敗パターン
よく間違える失敗パターンとして、最初に設定アプリからテストアカウントでサインインしてからアプリ内課金テストを行う場合があります。(実際にこの手順でやったらダメでした)
最初にテストアカウントでサインインしてしまうと、課金テスト時に以下のようなエラーダイアログが表示され、課金テストできませんでした。
iOSアプリのアプリ内課金テストの手順 まとめ
今回はiOSアプリのアプリ内課金テストの手順についてまとめてみました。
iOSの場合、手順がちょくちょく変わったりするので、この方法でいつまで行けるかはわかりません。
ただ、アプリ内課金テストは重要だし、正常に購入処理されないとまずいので、間違った設定や手順が原因でおかしなエラーに悩む時間を極力減らしていけたらと思います。