アプリ内課金(IAP)について
アプリ内課金(IAP)を使用すると、デジタルコンテンツや定期購入型アイテムの表示、処理、アイテム付与までをAndroidアプリ内で行うことができます。Amazonアプリストアでは、アプリ内課金ソリューションとして、Appstore SDKとAppstore請求サービス対応SDKの2つを提供しています。Appstore SDKとAppstore請求サービス対応SDKの比較については、AmazonのIAPソリューションの比較を参照してください。
IAPをウェブアプリで使用するには、以前のIAP v2.0を使用してください。詳細については、ウェブアプリ向けアプリ内課金(IAP)APIについてを参照してください。
アプリ内課金(IAP)とは
IAPを使用すると、アプリのユーザーが、ゲームの追加ライフや定期購入型のプレミアムコンテンツなど、さまざまな種類のデジタルアイテムをアプリ内で購入できるようになります。
たとえば、IAPのユースケースとして次のようなシナリオが考えられます。
- アプリ自体は無料としながら、高度なサービスや機能を有料とする「フリーミアム」モデルを作成する。
- ゲーム体験を充実させるために、通貨、追加アクション、ライフなどのアイテムをユーザーが購入できるようにする。
- ユーザーがコンテンツへのアクセス権限を購入したら、ボーナスステージやミニゲームの利用制限を解除(アンロック)する。
- アプリ内で提供されるコンテンツをユーザーが定期購入できるようにする。
購入フロー、支払い処理、アプリへのレシートの提供、購入可能なコンテンツの権限の管理などの詳細は、IAP APIによって処理されます。そのような処理を行うコードを独自に作成する必要はありません。
IAPでのAmazonの役割
Amazonアプリストアは、IAP APIのワークフローの中で欠かせない役割を担っています。ユーザーがアイテムの購入を決定した時点から、購入レシートまたは購入失敗時のステータスコードがアプリに渡されるまでの購入ワークフローは、Amazonによって実行されます。購入ダイアログ、トランザクションのタイムアウトロジック、完了時のお礼のダイアログを開発者側で作成する必要はありません。このようなトランザクションは、すべてAmazonアプリストアで処理されます。
ユーザーが購入手続きを開始すると、Amazonアプリストアクライアントアプリが最前面に開き、Amazonのユーザーインターフェイスが表示されます。ここでトランザクションを完了できます。購入ワークフローの次のようなすべての要素に対応するユーザーインターフェイスがこのアプリで提供されます。
- 購入可能アイテムを表示するロジック
- 購入の実行
- 前提条件またはエラー状況の処理
購入に失敗した場合は、関連するメッセージがAmazonアプリストアからユーザーに表示されます。アプリからはメッセージを表示しないでください。たとえば、有効なクレジットカードが登録されていない場合は、Amazonアプリストアにより、支払い情報の変更ページにリダイレクトされます。購入フローに関するユーザーへの確認画面やそのほかのインタースティシャルダイアログを、開発者が独自に表示することは避けてください。
次の表では、IAPの実装時に必要となる処理を、アプリ側で実装する必要があるものとAmazonアプリストアが提供するものに分けてまとめています。
処理内容 | アプリ |
Amazon |
---|---|---|
購入可能なIAPアイテムのカタログをユーザーに提示する。 | ||
購入可能な機能をアンロックする。 | ||
購入フローを管理する。 | ||
支払い処理を実行する。 | ||
Amazonプラットフォームと安全な通信を行う(支払い時のセキュリティ確保を含む)。 | ||
非消費型アイテムを確認し、購入レシートを検証する。 | ||
定期購入型アイテムを自動更新するときの支払いを管理する。 | ||
非消費型アイテムを取り消すときの支払いを管理する。 | ||
ユーザーにコンテンツを提供する前に、定期購入型アイテムと非消費型アイテムのレシートを検証する。 | ||
リモートで配信されるコンテンツをダウンロードする。 | ||
ダウンロードしたデジタルアイテムを表示して使用する。 | ||
ユーザーによる購入と消費型アイテムの増減をトラッキングする。 |
IAPソリューション
Amazonアプリストアでは、IAP向けにAppstore SDKとAppstore請求サービス対応SDKという2つのソリューションを提供しています。Appstore SDKとAppstore請求サービス対応SDKの比較については、AmazonのIAPソリューションの比較を参照してください。
IAPのコンポーネント
IAPを初めて使用する場合は、次のコンポーネントについて理解しておく必要があります。これらのコンポーネントは、いずれもIAP機能を実装するときに使用されます。
名前 | 説明 |
---|---|
IAP API | IAPを実装してアイテムを付与するには、IAP APIを使用します。
利用可能なソリューションのドキュメント: |
IAP APIリファレンス | IAP APIのリストと説明です。
利用可能なソリューションのドキュメント: |
Amazonアプリストア | 支払い処理、アラート、アイテム付与などのバックエンド機能を処理します。 |
App Tester | アプリをAmazonアプリストアで公開する前にローカルでテストします。
Appstore請求サービス対応SDKではサポートされません。 |
レシート検証サービス(RVS) | トランザクションのレシートの有効性を検証します。RVSは、サンドボックス環境と本番環境に対応しています。 |
ライブアプリテスト | 特定のユーザーグループを対象に、本番環境でアプリのベータテストを行います。 |
SKU
SKUは、個々の購入可能アイテムに割り当てられる一意の識別子です。SKUは、開発者(正確には、開発者ポータルに登録されている開発者アカウント)ごとに一意であり、最大150文字の任意の形式の文字列です。使用可能な文字は、a~z、A~Z、0~9、アンダースコア、ピリオド、ダッシュで、大文字と小文字が区別されます。購入可能アイテムとSKUは1対1で対応付けられます。アプリはSKU値をクライアントに渡します。クライアントではSKUに基づいて、ユーザーが何を購入しようとしているかを識別し、それに応じて購入フローを管理します。
定義するすべての購入可能アイテムに、それぞれ一意のSKUを割り当てる必要があります。SKUは開発者アカウント全体で一意となるようにしてください。複数のアプリのSKUを申請するときも、全体で重複がないことを確認する必要があります。
SKUを使用できるようにするには、開発者コンソールでの構成が必要です。SKUの構成方法については、アプリ内課金(IAP)に関するよくある質問(FAQ)を参照してください。
購入のタイプについては、購入のタイプを参照してください。
アプリの申請プロセス
IAPを組み込んだアプリの場合は、Amazonアプリストアに申請する前に、IAPアイテムを作成して申請する必要があります。Amazonアプリストアは、アプリとIAPアイテムの両方が申請されるまでアプリのテストを行いません。
IAPアイテムのカタログを作成して管理するには、開発者コンソールを使用します。単一のアプリ内課金(IAP)アイテムを作成および申請する方法を参照してください。
一度に複数のIAPアイテムを作成または変更することもできます。アプリ内課金(IAP)アイテムの一括申請用CSVファイルを参照してください。
アプリの申請後にIAPアイテムを追加または編集した場合は、新しいアイテムや変更したアイテムだけでなく、アプリ自体もAmazonアプリストアに再申請する必要があります。
Last updated: 2024年5月22日