ウェブアプリのアプリ内課金(IAP)API


ウェブアプリのアプリ内課金(IAP)API

Amazon Services JavaScriptを使用して、アプリ内課金をウェブアプリに追加します。

APIの構造

ウェブアプリのアプリ内課金には、次の3つの要素が含まれています。

  • Amazon Services JavaScript:ウェブアプリとAmazonのネイティブAPIのやり取りを管理するクラス/API。
  • 購入ハンドラー:Amazon Services JavaScriptからのコールバックに応答するためにウェブアプリが提供するメソッド。Amazon Servicesアプリ内課金(IAP)APIにオブザーバーとして登録されています。
  • Receipt Verification Service:ユーザーの購入レシートを検証するためのHTTPサービス。

アプリ内課金(IAP)APIをウェブアプリで利用するには、Amazon Services JavaScriptへの購入ハンドラの登録、APIの呼び出し、コールバックへの応答を行う必要があります。コールバックは、実行方法に応じて、アプリの呼び出しによってトリガーされるか非同期に呼び出される可能性があるため、アプリは両方の操作モードを処理できる必要があります。 コールバックがいつ発生するかは予測できないため、アプリはステートレスになるように開発し、1つの実行状態に依存することは避けてください。 たとえば、アプリの前回のセッションで購入リクエストが開始されたものの、アプリが終了されたためにリクエストが受領されなかったという状況があるとします。この場合、アプリが再び起動されて購入ハンドラーが登録されたときに、キューに入っている購入リクエストが配信されます。

Amazon Services JavaScriptを使用したウェブアプリの場合、アプリ内課金のフローは次の図のようになります。

上の図に示したコールアウトの説明は次のとおりです。

  1. 購入ハンドラーのメソッドを実装する。
  2. ​​​購入ハンドラーをAmazon Servicesライブラリに登録する。
  3. アプリでアプリ内課金を開始する。
  4. 購入ハンドラーのメソッドによってレスポンス通知が処理される。

    上記の手順は、必要な最低限の手順を表しています。実際の実装には次の手順を追加することをお勧めします。

  5. アプリ側でレシートを保持する。
  6. アプリからアプリサーバーにレシートを送信する。
  7. 検証のためにアプリサーバーからAmazon RVS(Receipt Verification Service)にレシートが送信され、アプリサーバーがレスポンスを受信する。
  8. アプリサーバーからアプリにレスポンスが送信される。
  9. アプリ側で結果を保持する。

Amazon Services JavaScript

Amazon Services JavaScriptは、アプリ内課金(IAP)APIの不可欠な構成要素です。アプリ内課金(IAP)APIを使用した購入プロセスが始まると、ライブラリからAmazonのUIが表示され、トランザクションが実行されます。このフローは、アプリ内課金(IAP)APIを使用するすべてのウェブアプリに当てはまります。

そのライブラリをインクルードするには、次の<script>タグをウェブアプリに追加します。

<script src="https://resources.amazonwebapps.com/v1/latest/Amazon-Web-App-API.min.js">
</script>

Amazonのアプリ内課金(IAP)APIを使用するコードは、必ず、Amazon HTML5 FrameworkからamazonPlatformReadyイベントを生成した後に使用する必要があります。

document.addEventListener('amazonPlatformReady', function () {
    if(amzn_wa.IAP) {
        //APIを使用するコードをここに記述
    }
});

ユーザーがAmazonに認証されていない状態でAPIが呼び出された場合、Amazon Servicesライブラリがユーザーを認証します。優れたユーザーエクスペリエンスを提供し、ユーザーが確実にAmazonのサービスにログインするためにも、ユーザーの資格はアプリの起動後できるだけ早く確認してください。

ライブラリとAmazonのサービスが提供するユーザーインターフェイスは、購入ワークフローのすべての要素に対応しています。具体的には、購入可能アイテムの表示、1-Click購入の実行、その他前提条件やエラーシナリオを処理するロジックが含まれています。

購入に問題が生じた場合は、Amazonクライアントからユーザーにメッセージを表示します。アプリでメッセージを表示する必要はありません。たとえば、ユーザーが有効期限内のクレジットカードを登録していない場合、ライブラリの処理により、支払い情報の変更ページにリダイレクトされます。課金フローに関連する確認画面やインタースティシャルダイアログを開発者が用意する必要はありません。