Amazonアプリ内課金コンポーネント
Amazonアプリ内課金コンポーネントは、Amazonのアプリ内課金(IAP)APIを使用して、課金オプションをアプリに組み込みます。
- 利用できる課金オプション
- Amazonアプリ内課金コンポーネントのユーザーエクスペリエンス
- IAPに関する注意と制限事項
- Amazonアプリ内課金コンポーネントのワークフロー
- 構成の概要
- 手順1:開発者ポータルでアプリを作成する
- 手順2:消費型(デイリーパス)IAPアイテムを作成する
- 手順3:定期購入型(プレミアム)IAPアイテムを作成する
- 手順4:JSONデータファイルをダウンロードしてプッシュする
- 手順5:アプリでアプリ内課金コンポーネントを有効にする
- 手順6:IAPアイテムをアプリのコンテンツにマッピングする
- 手順7:ボタンテキストをカスタマイズする
- 手順8:App Testerをセットアップする
- レシート検証サービスを使用して追加のセキュリティを実装する方法
- 本番環境へのIAPアイテムの申請
利用できる課金オプション
アプリ内課金コンポーネントは、次の2つの課金オプションをアプリに提供します。
- デイリーパス: アプリ内のすべてのメディアを1日(課金した時点から24時間)視聴できます。これは24時間見放題の映画レンタルに似たオプションです。
- プレミアム: 定期購入料金を支払うことで、購入期間中にアプリ内のすべてのメディアを視聴できます。定期購入期間は、Amazon開発者コンソールでアプリ内課金(IAP)アイテムをセットアップするときに定義します。
アプリ内課金コンポーネントでは、ユーザーとのトランザクションの処理を開発者が気にする必要はありません。ユーザーは、Fire TVの構成時にセットアップしたAmazonアカウントを通じて購入を行います。アプリ内でのトランザクションの詳細はすべて、IAP APIによって処理されます。
Amazonアプリ内課金コンポーネントのユーザーエクスペリエンス
アプリにAmazonアプリ内課金コンポーネントを実装すると、コンテンツの詳細画面には、([今すぐ観る] ボタンの代わりに) [デイリーパス] ボタンと [プレミアムにアップグレード] ボタンが表示されます。
ユーザーが [プレミアムにアップグレード] ボタンまたは [デイリーパス] ボタンをクリックすると、Fire TVアカウントを使用して購入するための画面が表示されます。たとえば、[プレミアムにアップグレード] をクリックすると、次の画面が表示されます。
[デイリーパス] をクリックすると、次の画面が表示されます。
ユーザーは、このFire TVのダイアログボックスで、Fire TVのセットアップ時に入力したAmazonアカウントを使用してトランザクションを完了します。トランザクションが完了すると、次の画面が表示されます。
これで、ユーザーがコンテンツを視聴できるようになりました。
IAPに関する注意と制限事項
Amazonアプリ内課金コンポーネントについては、次の点に注意してください。
- メディアには、デイリーパス(24時間限定のアクセス)とプレミアム(定期購入)の両方のオプションを用意する必要があります。
- デイリーパスまたはプレミアムを購入したユーザーは、アプリ内のすべてのメディアにアクセスできます。特定のアイテムを定期購入やレンタルの対象から除外して、残りのアイテムを無制限で提供することはできません。
- ほかのデバイスで購入したアイテムは、ユーザーがアプリを再起動するかコンテンツの再生を試みるまで、アプリでは認識されません(アプリの状態がバックグラウンドに移行しても、購入されたアイテムは更新されません)。
- 映画を視聴している途中でデイリーパスや定期購入の期限が切れた場合、ユーザーはその映画を最後まで視聴できます。アプリ内課金コンポーネントによって映画が停止されることはありません。
- 1つのメディアに対して複数の定期購入タイプを提供することはできません。たとえば、コンテンツの視聴オプションとしてSDとHDの両方を提供したり、定期購入型アイテムで月額制と年額制の両方を提供したりすることはできません。
- デイリーパスは、購入操作を行ったデバイスでのみ使用できます。別のFire TVデバイスにログインしても、購入済みのデイリーパスは機能しません。
- プレミアムの定期購入型アイテムはすべてのデバイスで機能します(つまり、あるFire TVデバイスで購入した定期購入型アイテムを別のFire TVデバイスで利用できます)。ただし、別のデバイスにログインしたユーザーが定期購入型アイテムを利用するためには、アプリを再起動する必要があります。
- デイリーパスを購入したユーザーのFire TV対応アプリで障害が発生し、データが失われた場合、ユーザーはそのアプリからデイリーパスにアクセスできなくなります。ただし、プレミアム(定期購入型アイテム)では、アプリで障害が発生しても、アプリを再起動すれば引き続きアクセスすることができます。
- ユーザーがコンテンツを定期購入した後で戻るボタンをクリックすると、[プレミアムにアップグレード] ボタンが再び表示されます。ただし、ユーザーが2回目の定期購入を試みると、既に購入者であることがアプリで認識され、メディアへのアクセスが提供されます。
Amazonアプリ内課金コンポーネントのワークフロー
Amazonアプリ内課金コンポーネントによる支払いのワークフローは、次のような手順になります。
- アプリを起動すると、アプリはIAP APIを使用して現在ログインしているユーザーが購入済みの商品を取得し、それらの商品を最新のレシートで更新します。
- コンテンツの詳細画面で、ユーザーが [デイリーパス] ボタンまたは [プレミアムにアップグレード] ボタンをクリックします(ユーザーはそのメディアをまだ購入していないものとします)。
- アプリがIAP APIを呼び出して、そのアイテムに対するユーザーとのトランザクションを実行します。ユーザーは、事前にセットアップしたFire TVアカウントオプションを使用して購入を完了します。
- トランザクションが正常に完了すると、IAP APIはトランザクションからのレシートIDをアプリに返します。
- (任意)レシートが有効であることを確認するために、独自のサービスをセットアップして、レシート検証サービスにリクエストを送信し、レシートIDが有効かどうかを確認することができます。
- レシートIDが有効な場合、アプリでユーザーがメディアを視聴できるようになります。
構成の概要
アプリ内課金コンポーネントをセットアップするには、開発者ポータルの [アプリ内課金(IAP)アイテム] セクションでデイリーパスアイテム(消費型アイテム)とプレミアムアイテム(定期購入型アイテム)を作成します。これらのアイテムのSKU情報を使用してアプリを構成します。コンポーネントは、必要な情報をIAP APIに送信します。
Amazonアプリ内課金コンポーネントは、IAP APIのラッパーを使用します。利用できる機能は本来のIAPの一部だけです。このため、本ドキュメントは、IAPに関するドキュメントのサブセットを変更したものとなっています。
デイリーパス(消費型アイテム)とプレミアム(定期購入型アイテム)
IAPで提供されるアイテムの種類には、消費型アイテム、非消費型アイテム、定期購入型アイテムの3つがあります。Fire App Builderのアプリ内課金コンポーネントが対応するのは、消費型アイテムと定期購入型アイテムだけです(このコンポーネントはIAP APIをベースとしたラッパーであり、すべてのIAP API機能を使用できるわけではありません)。消費型アイテムと定期購入型アイテム(非消費型アイテム以外)は、どちらもAmazonアプリ内課金コンポーネントにマッピングされています。
消費型アイテムと定期購入型アイテムには、次のような違いがあります。
- 消費型アイテム(デイリーパスに相当)はアプリ内で消費され、何回でも購入できます。Fire App Builderでは、消費型アイテムは「デイリーパス」にマッピングされています。24時間限定でユーザーにすべてのメディアへのアクセスを提供するには、この種類のアイテムを選択します。
- 定期購入型アイテム(プレミアムに相当)は、コンテンツや機能のプレミアムセットへのアクセスを一定期間提供します。Fire App Builderでは、定期購入型アイテムは「プレミアム」にマッピングされています。購入期間を通じてユーザーにすべてのメディアへのアクセスを提供するには、この種類のアイテムを選択します。
Amazonアプリ内課金コンポーネントの構成
アプリ内課金コンポーネントを構成するには、次の手順に従います。
- 手順1:開発者ポータルでアプリを作成する
- 手順2:消費型(デイリーパス)IAPアイテムを作成する
- 手順3:定期購入型(プレミアム)IAPアイテムを作成する
- 手順4:JSONデータファイルをダウンロードしてプッシュする
- 手順5:アプリでアプリ内課金コンポーネントを有効にする
- 手順6:IAPアイテムをアプリのコンテンツにマッピングする
- 手順7:ボタンテキストをカスタマイズする
- 手順8:App Testerをセットアップする
手順1:開発者ポータルでアプリを作成する
アプリが既に作成されている場合は、このセクションをスキップして次の手順に進んでください。
- 開発者ポータルにログインします。
- [新規アプリを追加する] をクリックし、[Android] を選択します。[次へ] をクリックします。
-
アプリの基本情報を入力します。
- [アプリタイトル]: アプリの名前。
- [アプリSKU]: アプリの一意の識別子。たとえば、「
mycalypsomediapp1234
」のように入力します。SKUの最大文字数は150文字です。使用可能な文字は、a~z、A~Z、0~9、アンダースコア、ピリオド、ダッシュです。SKUでは大文字と小文字が区別されます。 - [アプリのカテゴリー]: アプリとメディアに適したカテゴリーを選択します。
- [カスタマーサポート連絡先] で、[デフォルトのサポート情報を使用する] をオンにするか、フィールドをカスタマイズします。その後、[保存] をクリックします。
手順2:消費型(デイリーパス)IAPアイテムを作成する
- 開発者ポータルにログインし、[ダッシュボード] に移動して、対象のアプリをクリックします。
- アプリの [アプリ内課金(IAP)アイテム] タブをクリックします。
-
[消費型アイテムを追加] (デイリーパス用)をクリックします。
-
次の表に従って、各フィールドに値を入力します。
フィールド 説明 [タイトル] このアイテムを参照するための名前。このタイトルはユーザーには表示されません。わかりやすいように、「デイリーパス」と入力します。 [SKU] このアイテムのIDとなる、アプリに固有の文字列。たとえば、「com.amazon.example.iap.mydailypassitem」のように指定します。アプリで使用するSKUは、Amazonアプリストアに申請するSKUと一致している必要があります。SKUには、先ほどアプリを作成したときと同じ文字要件が適用されます。 [コンテンツの配信] 配信するコンテンツはアプリ自体に含まれているため、[追加ファイルは必要ありません] を選択します。 -
[保存] をクリックします。
注: タブに入力した情報は、次のタブに移動する前に保存してください。 -
[配信地域・価格等] タブをクリックし、次の表に従って詳細を入力します。
フィールド 説明 [この消費型アイテム/非消費型アイテムは有料ですか?] [はい] をクリックすると、アイテムの基準価格と通貨を設定できるようになります。基準価格を設定したら、ほかの通貨の価格を手動で設定します。または、為替レートと税に基づいてAmazonアプリストアで自動的に設定させることもできます。有効な価格(米国ドル)は、0.00 USDまたは0.99 USD~400 USDです。 [いつこのアイテムを公開しますか?] このアイテムをアプリ内で入手可能にする日付を指定します(IAPでは太平洋標準時を使用します)。このフィールドを空白のままにすると、アイテムはAmazonアプリストアによって承認されしだい入手可能になります。 - [保存] をクリックします。
- [説明] タブをクリックします。
-
[表示タイトル] フィールドと [説明] フィールドに入力します。
ユーザーが [デイリーパス] をクリックすると、これらのフィールドがダイアログボックスに表示されます。
- [保存] をクリックします。
- [画像] タブをクリックします。
- サイズの要件に従って、2つの画像をアップロードします。アプリに表示されるデイリーパスのダイアログボックスには、114pxの画像だけが使用されます。前のスクリーンショット(図6)では、オレンジ色の四角形の画像が使用されています。512pxの画像を作成する場合は、便宜的にこちらの汎用的な画像をアップロードできます。
-
[保存] をクリックします。
警告: まだ [IAPを申請] ボタンはクリックしないでください。IAPアイテムを申請すると、そのアイテムの編集や削除はできなくなります。このボタンは、機能とコンテンツを十分にテストし、アプリを申請する準備ができてからクリックしてください。
手順3:定期購入型(プレミアム)IAPアイテムを作成する
- 開発者ポータルにログインしていない場合はログインし、[ダッシュボード] に移動して、対象のアプリをクリックします。
- アプリの [アプリ内課金(IAP)アイテム] タブをクリックします。
- [定期購入型アイテムを追加] ボタン(プレミアム用)をクリックします(「Amazon Undergroundは定期購入型アイテムをサポートしません」というメッセージが表示された場合は、[定期購入型アイテムを追加] ボタンをもう一度クリックしてください)。
-
次の表に従って、各フィールドに値を入力します。
フィールド 説明 [タイトル] このアイテムを参照するための名前。このタイトルはユーザーには表示されません。わかりやすいように、「プレミアム」と入力します。 [SKU] このアイテムのIDとなる、アプリに固有の文字列。たとえば、「com.amazon.example.iap.mygopremiumitem」のように入力します。 アプリで使用するSKUは、Amazonアプリストアに申請するSKUと一致している必要があります。SKUには、先ほどアプリを作成したときと同じ文字要件が適用されます。 [コンテンツの配信] 配信するコンテンツはアプリ自体に含まれているため、[追加ファイルは必要ありません] を選択します。 -
[保存] をクリックします。
注: タブに入力した情報は、次のタブに移動する前に保存してください。 -
[定期購入型アイテムの期間] で、次の表に従ってフィールドに値を入力します。
フィールド 説明 [購入期間] 定期購入型アイテムの期間を選択します。購入期間は購入日から始まります。 [SKU] この購入期間に対応する一意のSKUを入力します(ほかのSKUフィールドと同じガイドラインに準拠してください。たとえば、「com.amazon.example.calypso.monthly」と入力します)。このSKUは、アイテムの詳細ページで入力したSKUの子SKUです。 [無料体験] 必要に応じて、定期購入型アイテムの無料体験期間を指定します(オプション)。 [この定期購入型アイテムは有料ですか?] [はい] をクリックします。アイテムの基準価格と通貨を設定できるようになります。基準価格を設定したら、ほかの通貨の価格を手動で設定します。または、為替レートと税に基づいてAmazonアプリストアで自動的に設定させることもできます。有効な価格(米国ドル)は、0.00 USDまたは0.99 USD~299.00 USDです。 [いつこのアイテムを公開しますか?] このアイテムをアプリ内で入手可能にする日付を指定します(IAPでは太平洋標準時を使用します)。このフィールドを空白のままにすると、アイテムはAmazonアプリストアによって承認されしだい入手可能になります。 注: [新規期間を追加] ボタンは無視してください。課金コンポーネントでサポートされる購入期間は1つだけです。 - [保存] をクリックします。
- [説明] タブをクリックします。
-
[表示タイトル] フィールドと [説明] フィールドに入力します。
ユーザーが [プレミアムにアップグレード] をクリックすると、これらのフィールドがダイアログボックスに表示されます。
- [保存] をクリックします。
- [画像] タブをクリックします。
- 開発者コンソールではアイコン画像が要求されますが、デイリーパス(消費型アイテム)とは異なり、アプリでユーザーに表示されるプレミアムのダイアログボックスでは、どの画像も使用されません。便宜上、こちらの汎用的な114pxの画像と512pxの画像をアップロードできます。
-
[保存] をクリックします。
警告: まだ [IAPを申請] ボタンはクリックしないでください。IAPアイテムを申請すると、そのアイテムの編集や削除はできなくなります。このボタンは、機能とコンテンツを十分にテストし、アプリを申請する準備ができてからクリックしてください。
手順4:JSONデータファイルをダウンロードしてプッシュする
デイリーパスとプレミアムの両方のIAPアイテムを構成したら、IAPアイテムの詳細が格納されたJSONファイルをダウンロードします。
- 開発者ポータルにログインしていない場合はログインし、[ダッシュボード] に移動して、対象のアプリをクリックします。
- アプリの [アプリ内課金(IAP)アイテム] タブをクリックします。
-
[JSONデータファイル] ボタンをクリックし、IAPアイテムの詳細が格納されたJSONファイルをダウンロードします。
- ターミナルで
cd
コマンドを使用して、このファイルを保存したディレクトリに移動します。 -
次のコマンドを実行して、JSONファイルをFire TVデバイスにプッシュします。
$ adb push amazon.sdktester.json /mnt/sdcard/
「
[100%] /mnt/sdcard/amazon.sdktester.json
」のようなレスポンスが出力されます。
手順5:アプリでアプリ内課金コンポーネントを有効にする
これで、開発者コンソールでIAPアイテムが作成されました。次は、アプリでIAPコンポーネントを有効にする必要があります。
- Amazonアプリ内課金コンポーネントをアプリに読み込みます。アプリにコンポーネントを読み込む方法の詳細については、アプリ内のコンポーネントを追加または削除するを参照してください。
- Android Studio([Android] ビュー)で、ContentBrowserフォルダを展開し、res > valuesに移動して、custom.xmlファイルを開きます。
-
次の文字列をコピーします。
<bool name="is_iap_disabled">true</bool>
(
override_all_contents_subscription_flag
フィールドは無視します。) - appフォルダで、custom.xmlファイル(res > values内)を開きます。
-
先ほどコピーした文字列を貼り付け、値を
false
に変更します。この文字列は、必ずresources
タグの内側に貼り付けてください。<bool name="is_iap_disabled">false</bool>
ヒント: これは二重否定になっているため、false
に設定すると、実際にはアプリでIAPが有効になります。コンポーネントの値は、アプリのcustom.xmlの値によって上書きされます。
手順6:IAPアイテムをアプリのコンテンツにマッピングする
-
Android Studio([Android] ビュー)で、PurchaseInterfaceフォルダを展開し、assetsに移動します。次に、skuslist.jsonファイルを開きます。
-
「プレミアム」のアイテムについて、以下のフィールドの赤色で示した部分をプレミアムアイテムのSKU値に置き換えます。
{ "skusList": [ { "sku": "testSubSku", "productType": "SUBSCRIBE", "purchaseSku": "testSubSku" }, { "sku": "RentUnPurchased", "productType": "RENT", "purchaseSku": "RentUnPurchased" } ], "actions": { "CONTENT_ACTION_DAILY_PASS": "RentUnPurchased", "CONTENT_ACTION_SUBSCRIPTION": "testSubSku" } }
プレミアムアイテムは定期購入型アイテムです。
-
「デイリーパス」のアイテムについて、以下のフィールドの赤色で示した部分をデイリーパスアイテムのSKU値に置き換えます。
{ "skusList": [ { "sku": "testSubSku", "productType": "SUBSCRIBE", "purchaseSku": "testSubSku" }, { "sku": "RentUnPurchased", "productType": "RENT", "purchaseSku": "RentUnPurchased" } ], "actions": { "CONTENT_ACTION_DAILY_PASS": "RentUnPurchased", "CONTENT_ACTION_SUBSCRIPTION": "testSubSku" } }
デイリーパスアイテムはレンタルです。
手順7:ボタンテキストをカスタマイズする
コンテンツの詳細画面のボタンに表示される、「デイリーパス」と「プレミアムにアップグレード」というテキストはカスタマイズが可能です。
テキストをカスタマイズするには、次の手順を実行します。
- ContentBrowser > res > valuesに移動し、strings.xmlファイルを開きます。
-
次の文字列をコピーし、アプリのcustom.xmlファイルに貼り付けます。
<string name="premium_1">プレミアムに</string> <string name="premium_2">アップグレード</string> <string name="daily_pass_1">デイリー</string> <string name="daily_pass_2">パス</string>
ここでは、次のような、課金コンポーネントに関連するその他の文字列をコピーすることもできます。
<string name="iap_error_dialog_title">購入エラー</string> <string name="subscription_expired">サービスの期限が切れました!</string> <string name="ok">Ok</string>
- 必要に応じて文字列の値をカスタマイズします。
手順8:App Testerをセットアップする
これでIAPアイテムがセットアップされ、アプリが構成されました。次は、統合状態をテストし、IAPとメディアが正しく連携されていることを確認します。
アプリをAmazonアプリストアに申請する前に、実際の購入を行うことなくアプリのIAPアイテムをテストするには、Amazon App Testerを使用する必要があります。App Testerでは、サンドボックスサーバーを使用してIAP APIの呼び出しをシミュレートします。App Testerは、IAP APIへの発信呼び出しをインターセプトし、有効なレシートを返してトランザクションを承認します(詳細については、App Testerをインストールして構成する方法を参照してください)。
App Testerをセットアップするには、次の手順を実行します。
-
コンピューターのブラウザを使用して、AmazonアプリストアのApp Testerのページにアクセスし、アプリを入手して自分のデバイスに配信します(無料)。
このアプリをデバイスに配信するには、Fire TVのセットアップに使用したときと同じ認証情報を使用してAmazonにログインする必要があります。アプリをデバイスに配信するには、次のように [配信先] オプションを使用します。
- Fire TVで、[設定] > [マイアカウント] > [Amazonコンテンツを同期] の順に選択して、購入したコンテンツをデバイスに同期します。
- Fire TVのホーム画面から [アプリ] に移動し、[アプリライブラリ] を選択します。
- Amazon App Testerアプリを選択してダウンロードし、クラウドからアプリをインストールします。
- ダウンロードが完了したら、アプリを起動します。
-
[In-App Purchasing API] セクションをクリックします。
- [5.IAP Items in JSON File] を選択し、amazon.sdktester.jsonファイルからのアイテムがここに表示されていることを確認します。
呼び出しのシミュレート
アプリとテストツールを構成したら、IAPサービスの呼び出しをシミュレートできます。
- ADBを使用してアプリを起動します。
- アプリでメディアを参照します。
- [デイリーパス] ボタンまたは [プレミアムにアップグレード] ボタンをクリックします。
IAPアイテムの調整
[説明] タブの [表示タイトル] フィールドや [説明] フィールドは、アプリでどのようにテキストが表示されるかに応じて調整できます。
IAPアイテムのテキストやその他の機能を調整するには、開発者コンソールにログインし、アプリをクリックして、[アプリ内課金(IAP)アイテム] に移動します。アプリを申請する前であれば、すべてのフィールドを編集できます。
購入のリセット
機能をテストしているときにデイリーパスやプレミアムの購入をリセットするには、次の手順を実行します。
- [設定] > [アプリケーション] > [インストール済みアプリケーションを管理] > [Amazon App Tester] に移動します。
- [データを消去] を選択し、[キャッシュを消去] を選択します。
レシート検証サービスを使用して追加のセキュリティを実装する方法
ユーザーがメディアのデイリーパスや定期購入型アイテムを購入すると、IAP APIからアプリに対して、トランザクションが有効であったかどうかを示すレシートが返されます。Fire TVデバイスはユーザーが所有しているため、IAP APIへの発信呼び出しがハッカーによって再ルーティングされると、レシートが偽造される可能性があります。
IAP APIから返されたレシートが有効であることを確認するには、独自のサービスからAmazonのレシート検証サービスを呼び出します。
Fire App Builderを使用してレシート検証サービスでレシートを確認するプロセスは、一般的に次のようになります。
- 独自のサーバー(任意の言語とプラットフォーム)をセットアップし、そのサーバーからレシート検証サービスにレシートおよび付随するシークレットを送信して、レシートが有効かどうかを問い合わせます。
- アプリからレシート検証サービスに、必要なプロパティと共有シークレットを含めたリクエストを送信して、レシートを確認します。必要な値は、AmazonInAppPurchaseComponent > res > values > values.xmlに定義されています。
- シークレットの検証後、レシート検証サービスはレシートが有効かどうかを判断し、レスポンスとしてtrueまたはfalseを返します。
このワークフローはFire App Builderには含まれていません。Fire App Builderはデフォルトで、常に有効を返すダミーサービスを呼び出すだけです。特に、Fire App BuilderのAReceiptVerifier
クラス(AmazonInAppPurchaseComponentフォルダ内)は抽象クラスであり、独自のサブクラスで継承してレシート検証サービスを呼び出す必要があります。
Fire App Builderには、AReceiptVerifier
を継承するサンプルのサブクラスとしてDefaultReceiptVerificationService
が用意されています。DefaultReceiptVerificationService
内のvalidateReceipt
メソッドには、レシート検証サービスで必要とされるすべての必須パラメーターが実装されています。
context
: アプリコンテキストrequestId
: このリクエストのリクエストIDsku
: レシートのSKUuserData
: 現在のユーザーのユーザーデータreceipt
: 検証するレシートlistener
: このリクエストのリスナーreturn
: リクエストID
ただしvalidateReceipt
は、実際にはレシート検証サービスを呼び出しません。このメソッドは、代わりに成功のステータスを返すだけです。
したがって、AReceiptVerifier
を継承する独自のサブクラスを作成して、レシート検証サービスを実際に呼び出す必要があります(または、DefaultReceiptVerificationService
サブクラスをカスタマイズすることもできます)。
サブクラスを作成する場合は、次の手順を実行して、アプリのcustom.xmlファイルにサブクラス名を指定する必要があります。
- AmazonInAppPurchaseComponent > res > valuesに移動し、strings.xmlファイルを開きます。
-
次の
receipt_verification_service_iap
文字列をコピーし、アプリのcustom.xmlファイル(app > resources内)に貼り付けます。<string name="receipt_verification_service_iap">com.amazon.inapppurchase.DefaultReceiptVerificationService</string>
- アプリのcustom.xmlファイルで、この文字列の値をサブクラスの完全パスに更新します。デフォルトでは、
DefaultReceiptVerificationService
が構成されています。新しいサブクラスを作成することも、DefaultReceiptVerificationService
クラスを上書きすることもできます。
レシート検証サービスを呼び出す方法の詳細については、Appstore SDK IAP用レシート検証サービスを参照してください。
本番環境へのIAPアイテムの申請
ここまでは、テスト環境でアプリを構成する方法について説明してきました。アプリをAmazonアプリストアに申請する準備が整ったら、IAPアイテムも申請する必要があります。
IAPアイテムを申請するには、次の手順を実行します。
- 開発者ポータルにログインし、[ダッシュボード] に移動して、対象のアプリをクリックします。
- アプリの [アプリ内課金(IAP)アイテム] タブをクリックします。
- [IAPを申請] ボタンをクリックします。
IAPアイテムを申請すると、そのアイテムは編集できなくなります。既に申請したIAPアイテムを変更する必要が生じた場合は、アプリの新しいバージョンを作成するか新しいアプリを作成し、そのアプリに新しいIAPアイテムを追加する必要があります。
Last updated: 2024年3月15日