アプリ内課金(IAP)を申請する


アプリ内課金(IAP)を申請する

Amazonアプリストアにアプリそのものを申請する前に、そのアプリで提供するアプリ内課金アイテムを申請します。Amazonアプリストアでは、アプリとアプリ内課金アイテムの両方が申請されるまでアプリのテストが行われません。

アプリ内課金アイテムの申請については、アプリ内課金アイテムを作成・申請するまたは一括インポート用CSVファイルを作成するを参照してください。

アプリの申請

アプリとアプリ内課金アイテムの準備が整ったら、Amazonアプリストアにアプリを申請できます。

アプリ申請における推奨事項

[テストインストラクション] セクション(申請用UIの [バイナリファイル] タブを参照)で具体的なユースケースを記載しておくと、Amazonアプリストアの承認プロセスがスムーズになります。このユースケースには、アプリ内でアイテムが表示される場所や購入できる場所など、Amazonによるアプリテストに役立つ関連情報を含めてください。

アプリ申請のフローチャート

アプリとアプリ内課金アイテムの申請が完了した後に行うべきことを以下にまとめました。 次のフローチャートは、Amazonアプリストアの申請ワークフローの流れを示したものです。アプリのステータスは「未送信」で始まり、最後に「ライブ」となります。

  • [審査をキャンセル] ボタンをクリックすると、ステータスが「申請完了」となっているアプリの登録をキャンセルできます。

  • Amazonアプリストアで、アプリ自体やアプリ内の購入可能アイテムに問題が検出されると、アプリのステータスが「保留中」に変わり、検出された問題に関する説明と、必要に応じて関連情報が開発者に送信されます。アプリや購入可能アイテムが更新・再登録されて問題が解決されるまで、テストは中断されます。

  • アプリの公開が承認されると、ステータスが「承認済み」に変わり、アプリがAmazonアプリストアでライブ状態になります。

アプリまたはアプリ内で購入可能なアイテムの更新

アプリを申請した後も、アプリとアプリ内課金アイテムの両方を更新できます。

  • アプリを更新する時、購入可能アイテムに変更がない場合には、更新されたアプリのみを申請します。購入可能アイテムの更新は必要ありません。

  • アプリの更新時に、購入可能アイテムの追加や更新も含まれる場合は、更新されたアプリのAPKを申請する前に、アプリ内課金アイテムのアップデートを申請してください。

アプリ申請に関するトラブルシューティング

このセクションでは、アプリの申請に関する一般的な問題について説明し、それらの問題の解決方法を提案します。

IAPアイテムが見つからない場合

  • 問題:​ IAPアイテムがアプリ内のどこにあるかをAmazonアプリストアが特定できません。

  • 解決策:​ アプリの [テストインストラクション] の箇所に、アプリ内のIAPアイテムの場所を示す具体的なIAPユースケースを記載してください。[テストインストラクション] は申請UIの [バイナリファイル] タブにあります。

  • 問題:​ 申請されたアプリで、期待される特定のIAPアイテムが見つかりませんでした。

  • 解決策:​ このページののセクションで説明されている必須情報が、すべて含まれるようにIAPアイテムを更新してください。

  • 問題:​ IAPアイテムを開発者ポータルのアカウントを通して申請しなかったので、Amazonアプリストアがテストを開始できません。

  • 解決策:​ まず不足しているIAPアイテムを開発者ポータルから申請してください。Amazonアプリストアはこの申請を受けた後に、IAPアイテムをライブにしてアプリをテストするか、ライブアプリテスト環境でアプリをテストします。

ユーザーエクスペリエンス(UX)デザインに関する問題

  • 問題:​ IAPワークフロー中にインタースティシャルダイアログボックスが表示されるという問題が、Amazonアプリストアで検出されました。

  • 解決策:​ IAPワークフローからインタースティシャルダイアログボックスをすべて削除するようアプリを更新してください。購入フロー中にAmazonのメッセージング以外のものを含めないでください。IAPについては、推奨:UIおよびUXデザインガイドラインを参照してください。

IAPワークフローに関する問題

  • 問題:​ Amazonアプリストアにおいて、IAPワークフローの検証でアイテムを購入しようとしたときにエラーが発生しました。

  • 解決策:​ アプリから送信するSKUがアプリ申請の際に記載しているSKUと一致していることを確認してください。また、顧客に購入用のSKUを提供する前に、アプリがgetProductData(…)/onProductDataResponse(…)呼び出しを使用してSKUを検証していることを確認します。SKUは大文字と小文字が区別されることに注意してください。

  • 問題:​ 購入レスポンスのRequestStatusが示す理由により、アイテムの購入フローが失敗しました。
  • 解決策:​ 購入フローは、購入レスポンスのRequestStatusが示す3つの理由により失敗することがあります。
    • ALREADY_PURCHASED: ユーザーが既に所有している非消費型アイテムまたは定期購入型アイテムを購入しようとした場合。このステータスを回避するには、ユーザーが現在所有していない非消費型アイテムと定期購入型アイテムを提供する必要があります。
    • INVALID_SKU: 推奨されているように、purchase()の前にgetProductData()を使用してSKUを検証していればこのステータスは表示されません。
    • FAILED: 購入プロセスが完了する前にユーザーが [キャンセル] をタップするなど、ユーザーに対する課金が完了していない場合に、このステータスが表示されることがあります。このステータスは、必ずしもエラーを示すものではありません。