開発者コンソール

手順ガイド: Amazonアプリのアプリ内課金のテスト

Moses Roth Mar 12, 2025
Share:
Best practices
Blog_Header_Post_Img

アプリ内課金(IAP)は、開発者がアプリで収益を上げるための有効な手段の1つです。このため、アプリのリリース前に購入フローをテストし、すべてが適切に機能することを確認する必要があります。IAPシステムを十分にテストすることで、スムーズなユーザーエクスペリエンスを確保し、購入時のエラーを回避します。これにより、ユーザーの満足度が高まり、購入するたびに収益を上げることができます。

IAPフローのテストでは、購入機能の確認、レシートの検証、エッジケース(購入エラーや購入の中断など)への対応などを行います。現実のユーザーの操作をシミュレーションすることで、アプリの公開前に潜在的な問題を特定して解決できます。

IAPをテストするための主なツールは2つあります。 1つ目は、サンドボックスモードで単独のローカルテストを実施するApp Testerです。2つ目は、公開前に実際のテスターがライブ環境でアプリをテストするライブアプリテスト(LAT)です。

本ガイドでは、LATを使用したIAPのテストについて取り上げます。このテストにより、幅広いデバイスでスムーズなユーザーエクスペリエンスを実現し、短期間でアプリを公開して迅速にフィードバックを得ることができます。

ライブアプリテスト(LAT)の概要

LATには以下の機能が備わっており、アプリを一般公開に向けて準備する際に重要な役割を果たします。

  • 現実のシナリオに対応する: LATのテスト環境にはアプリの実際の使用状況が厳密に反映されるため、サンドボックステストでは検知できない可能性がある問題も特定できます。
  • 実際のユーザー操作を処理する: 現実のテスターを利用することで、実際のユーザーに影響を及ぼす可能性があるユーザビリティの懸念点と潜在的なエッジケースを特定できます。
  • ほかのテストモードで見逃された可能性がある問題を検出する: LATを使用すると、デバイスの互換性、ネットワークの状況、実際の支払い処理フローに関連するバグを見つけることができます。これらはすべて、ほかのテストモードでは検知できない可能性があります。

LATを利用すると、アプリの安定性に対する信頼を強化し、ユーザーエクスペリエンスを改善できます。また、アプリの公開後に発生する可能性がある重大な問題を回避できます。

アプリでデジタルコンテンツを購入できるようにする場合は、Amazonアプリストアのポリシーに従い、Amazon IAP APIを使用する必要があります。

アプリでIAP SDKを使用する準備

本ガイドに沿って作業を進めるには、Kotlinで開発されたアプリのこちらのGitHubリポジトリ(英語のみ)のクローンを作成してください。マガジンを簡単にIAP定期購入できるこのアプリについては、本ガイドで後述します。

 

アプリのパブリックキーの取得

アプリがIAP APIの認証を得るには、Amazonアプリストアによって生成されるパブリックキーが必要です。

1. 開発者コンソールのダッシュボードに移動します。

2. 上部のナビゲーションバーで [アプリ&サービス] をクリックします。

3. アプリを開きます。まだ作成していない場合は、[新規アプリを追加] をクリックします。

4. 必要な情報を入力し、[手順1: アプリファイルをアップロード] の下部までスクロールします。

5. [関連情報] セクションで、[パブリックキーを表示] をクリックします。

Testing IAP Additional Information Screenshot

6. キー(AppstoreAuthenticationKey.pem)をローカルコンピューターにダウンロードします。

7. このキーをプロジェクトにコピーします。Kotlinプロジェクトの場合、キーはapp/src/main/assetsフォルダに入ります。

8. アプリの一意のパブリックキーを取得できたため、APKバンドルファイルを作成します。

LATでのテストの新規作成

LATで新しいテストを設定するには、開発者コンソールに戻り、[ライブアプリテスト] セクションに進みます。

1. アプリの申請画面内で、横のナビゲーションバーにある [ライブアプリテスト] をクリックします。

Testing IAP Additional Information Screenshot

2. [新規ライブアプリテストを作成] をクリックします。

Testing IAP Additional Information Screenshot

3. 最近作成したAPKファイルをローカルコンピューターからアップロードします。

アプリのこのバージョンには、必要なアプリ内課金機能に加えて、一意のパブリックキーが含まれている必要があります。本番リリースと同じバージョンを使用し、問題を効果的に解決できるよう、適切なロギングツールとデバッグツールを組み込んでください。

Testing IAP Additional Information Screenshot

アップロードされたファイルをAmazonが確認し終えると、次のようにファイルが表示されます。

Testing IAP Additional Information Screenshot

4. 必要な情報を追加します(この段階ではテスターの追加は不要です)。

5. [テストを送信] をクリックします。

Testing IAP Additional Information Screenshot

LATへのテスト用IAPアイテムの追加

アプリのLATバージョンを作成したら、テスト用のIAPアイテムを追加する必要があります。

1. 横のナビゲーションバーにある [アプリ内課金(IAP)アイテム] をクリックします。

Testing IAP Additional Information Screenshot

2. ページの上部で [新しいIAPを追加] をクリックします。

購入可能なアイテムには次の3つのカテゴリーがあります。

  • 消費型アイテム: 追加ライフ、追加アクション、ゲーム内で使用する通貨など、アプリ内で消費されるもの。複数回購入することが可能です。
  • 非消費型アイテム: 1回だけ購入して、アプリ内またはゲーム内の機能やコンテンツの利用制限を解除(アンロック)できるもの。
  • 定期購入型アイテム: プレミアムコンテンツやプレミアム機能へのアクセスを一定期間提供するもの。

3. [定期購入型アイテムを追加] を選択します(このチュートリアル用に選択するだけで、後から別のタイプを設定できます)。

Testing IAP Additional Information Screenshot

4. タイトルとSKUを入力します。

アイテムごとにSKUが必要です。SKUは、単一のアプリ内だけでなく、開発者アカウント全体で一意である必要があります。

5. [定期購入型アイテムを追加] をクリックします。

Testing IAP Additional Information Screenshot

6. 必要な情報を追加します。

アプリと同様、[表示タイトル] はユーザーに表示されるタイトルで、内部での識別を目的とした [定期購入型アイテムのタイトル] とは異なります。

Testing IAP Additional Information Screenshot

7. [新規期間を追加] をクリックします。

定期購入型アイテムが消費型アイテムおよび非消費型アイテムと異なる点は、定期購入しているユーザーへの自動課金に使用される定期購入型アイテムの期間(毎月、3か月ごとなど)を指定できることです。

8. 期間ごとに一意のSKUと定期購入型アイテムの価格を指定します。

9. [追加] をクリックします。

Testing IAP Additional Information Screenshot

10. 期間を追加し終えたら、ページ上部の [IAPを申請] ドロップダウンボタンをクリックします。

次の2つのオプションが表示されます。

  • [テスト用に申請]:LATテスト内での使用に限定してこのIAPアイテムを追加します。テスト用であることが明確にわかるように「テスト」とマークされます。
  • [テスト・公開用に申請]:このアイテムはLATテスト内で利用可能になりますが、その後本番モードで使用できるよう昇格することもできます。このアイテムは「公開中」とマークされます。テストが完了したら、[テスト用IAPを昇格] をクリックするとアイテムを公開中のアプリに昇格できます。複数のIAPアイテムを選択し、一括して昇格することもできます。

11. このチュートリアルでは [テスト用に申請] を選択します。

Testing IAP Additional Information Screenshot

CSVファイル(スプレッドシート)を使用した一括アップロードによって、複数のアイテムをまとめて追加することもできます。この方法は、複数の購入可能アイテムがあるアプリに便利です。詳細については、CSVファイルでアプリ内課金(IAP)アイテムを一括申請する方法を参照してください。

テスターの追加

次に、LATテストセッションにテスターを追加します。

1. 横のナビゲーションバーで [テスターの管理] をクリックします。

Testing IAP Additional Information Screenshot

2. [新規テスターを追加] をクリックします。

3. 追加するテスター全員のEメールアドレスを入力します。

個々のテスターをグループにまとめると効率的に管理できます。

Testing IAP Additional Information Screenshot

4. この情報を提供するために必要な権限を持っていることを確認するチェックボックスをオンにします。

5. [追加] をクリックします。

テスターをLATテストセッションに追加すると、Eメールとデバイスへのプッシュ通知の両方で、対象のテスターに招待が送信されます。招待が届くまでに数分かかる場合があります。

テストプロセス

テスターがアプリのテストに関する招待をEメールで受け取ります。

Testing IAP Additional Information Screenshot

この招待をテスターが承諾する場合は、該当するAmazonマーケットプレイスのリンクをクリックします。初めてLATテスターになる場合は、LATのサービス利用規約への同意を求められます。

Testing IAP Additional Information Screenshot

続けて、テスターが [1-Clickでダウンロード] をクリックすると、テスターのAmazonデバイスにAmazonからアプリが配信されます。

Testing IAP Additional Information Screenshot

テスターは即座にアプリの操作を開始できます。特に、現実のシナリオと同様にアプリ内課金を操作できる点が重要です。

Testing IAP Additional Information Screenshot

または、デバイスでプッシュ通知を受け取り、LATをダウンロードすることもできます。Eメールまたはプッシュ通知からLATをダウンロードすると、LATテストセッションに参加していること、およびテスト対象のアプリが正常にインストールされたことを伝える別の通知を受け取ります。

Testing IAP Additional Information Screenshot

この時点で、テスターはAmazonアプリストアからダウンロードした本番環境用のアプリと同様にアプリを操作できるようになります。ただし、IAPで購入してもテスターに課金されることはないという点が大きく異なります。

このデモでは、テスターがアプリを開き、[Buy Subscription] をクリックします。

Testing IAP Additional Information Screenshot

このボタンをクリックするとIAP APIが呼び出され、IAP SKU(デモアプリコードにハードコード済み)に関連する商品データを取得します。テスターは、定期購入のIAPに関する情報と定期購入型アイテムの期間を確認します。

Testing IAP Additional Information Screenshot

テスターが期間を選択して [Subscribe] をクリックすると、アプリから定期購入の確認メッセージが表示されます。

Testing IAP Additional Information Screenshot

開発者は、LATを使用して、IAPトランザクションフロー全体のアプリの動作と、IAP API呼び出しが適切に行われたことを確認できます。

定期購入を行うと、購入確認のEメールがテスターに届きます(価格を見れば、課金されていないことがわかります)。

Testing IAP Additional Information Screenshot

テスターは、定期購入したIAPアイテムについて、Amazonアプリストアアプリで定期購入の確認と管理を行うことができます。

Testing IAP Additional Information Screenshot

テストセッションの終了

LATセッションを終了する準備が整ったら、開発者コンソールでアプリの [ライブアプリテスト] ページに戻り、テストを終了します。また、このページで新しいテストを開始したり、テストを公開用の申請に昇格したりすることもできます。

Testing IAP Additional Information Screenshot

作成するIAPアイテムはすべて、その後の全LATテストセッションと、([テスト・公開用に申請] を選択した場合は)ライブの本番環境への昇格に利用できます。

LATテスターが非消費型アイテムまたは定期購入型アイテムのIAP購入を行うと、テストセッションの期間中はそれらがアカウントに残ります。テスターが購入した非消費型アイテムまたは定期購入型アイテムは、アプリの [テスターの管理] ページでリセットできます。対象のテスターを選択し、[アクションを選択] をクリックして、リセットするIAPの種類を選択してください。

Testing IAP Additional Information Screenshot

開発者は、テストセッション全体でテストログのモニタリング、パフォーマンス指標の分析、テスターのフィードバックからの分析データの収集を行う必要があります。最終リリースの前にすべての問題に対処しておけば、アプリ公開時にユーザーにシームレスな購入エクスペリエンスを確実に提供することができます。

その他の留意事項

現実に即したテストの実施は、リリース前に潜在的な問題を特定するうえで不可欠です。アプリでIAPを使用するアプリ開発者は、商品データの取得、定期購入の確認、正常な購入など、さまざまな状況をシミュレーションする必要があります。

LATの結果を徹底的に見直すことで、すべての購入フローが想定の範囲内となります。ログとテスターからのフィードバックは、改善の必要がある領域を判断するための貴重な材料です。たとえば、遅延の問題やエラー処理に関して改善の必要がある可能性があります。さらに、購入時のネットワーク中断といったエッジケースに対処することで、より強固なアプリ内課金エクスペリエンスを実現できます。

まとめ

アプリのIAPフローを徹底的にテストすることで、シームレスなユーザーエクスペリエンスを実現し、収益を最大限に高めることができます。現実の状況をシミュレーションしておけば、公開前にアプリのIAPフローが想定どおりに動作することを確認できます。

その他の分析データや詳細なテスト用リソースについては、以下を参照してください。

ニュースレターを購読してみませんか?

最新のAmazon開発者向けニュース、業界の動向、ブログの記事をお届けします。