Amazon In-App Purchasing API - クイックスタートガイド

※本記事は、Amazon Mobile App SDK/In-App Purchasing APIQuick Start Guide の翻訳記事です。

Introduction

In-App Purchase API は、完全な機能を持つAPIセットを提供すると同時に課金プロセスの複雑性をカプセル化するようにデザインされています。APIはアプリ内課金のトランザクションを完了する間、以下のオブジェクトを利用します:

  • Purchasing Manager - APIリクエストを初期化するのに使用します
  • Purchasing Observer - APIレスポンスのコールバックを処理します
  • Response Receiver - Amazonクライアントから Purchasing Observer へのコールバックを補助します
  • Receipt Verification Service - アプリ外でレシートを検証するオプションのサービスです

以下の図は購入シーケンスを含むステップの概要です:

Fig. 1: In-App Purchasing API


シンプルな実装は、以下の5ステップで完了します。

1. Android マニフェストの更新

Amazon Client からコールバックを受け取るために AndroidManifest.xml ファイルの セクションに以下の行を追加する必要があります。

<application>
.
.
.
    <receiver android:name = "com.amazon.inapp.purchasing.ResponseReceiver" >
        <intent-filter>
            <action android:name = "com.amazon.inapp.purchasing.NOTIFY"
                    android:permission = "com.amazon.inapp.purchasing.Permission.NOTIFY" />
        </intent-filter>
    </receiver>
.
.
.
</application>

Response Receiverを読む

2. Purchasing Observerの実装

Purchasing Observerは Purchasing Manager を通じて初期化され、コールバックをリッスンします。オブザーバーはBasePurchasingObserver クラスを拡張すべきで、必要なコールバックメソッドのみをオーバーライドします。
最低でもアイテムデータを取得し、購入リクエストを初期化するためのコールバックを用意する必要があります。アプリのアクティビティの中に Purchasing Observer クラスを生成することができます。

private class MyObserver extends BasePurchasingObserver {
 
    public MyObserver() {
 
        super(MainActivity.this);
 
    }
 
    @Override
    public void onItemDataResponse(ItemDataResponse itemDataResponse) {
 
        //Check itemDataResponse.getItemDataRequestStatus();
        //Use itemDataResponse to populate catalog data
 
    }
 
    @Override
    public void onPurchaseResponse(PurchaseResponse purchaseResponse) {
 
        //Check purchaseResponse.getPurchaseRequestStatus();
        //If SUCCESSFUL, fulfill content;
 
    }
} 

Purchasing Observerを読む

3. Purchasing Observerの登録

Purchasing Manager で Purchasing Observer を登録する必要があります。そうすることで、オブザーバーはコールバックをリッスンすることができます。これは、アプリの開始メソッドで実施されなければなりません。

protected void onStart() {
    super.onStart();
    PurchasingManager.registerObserver(new MyObserver());
};

registering the Purchasing Observer を読む

4. アプリ内課金(In-App Purchase)の初期化

オブザーバーを登録したら、アイテムデータリクエストの初期化と購入リクエストを使用できるようになります。APIは購入フローと全ての顧客がアプリとインタラクションすることを管理します。
initiateItemDataRequest メソッドで SKU のアイテムデータをリクエストするために、Purchasing Manager を使用します。

PurchasingManager.initiateItemDataRequest("DeveloperSKU-1234");

initiatePurchaseRequest メソッドで SKU の購入リクエストを初期化するために、Purchasing Managerを使用します。

private OnClickListener purchaseClickListener = new OnClickListener() {
 
    public void onClick(View v) {
        String requestId = PurchasingManager.initiatePurchaseRequest("DeveloperSKU-1234");
    }
}; 


Purchasing Manager を読む

5. レスポンスの通知をハンドルする

購入リクエストの呼び出しの初期化後、Purchasing Observer はリクエストにマッチしているレスポンスオブジェクトのコールバックを受信します。アプリは、コールバックを受信したレスポンスオブジェクトをハンドルし、ユーザーにコンテンツを提供する必要があります。
この実装はアプリ特有のものです。この時点で基本的な実装は完了し、SDK Tester App を使用してテストを開始することができます。

SDK Tester App を読む

(C) 2010-2013, Amazon.com, Inc. or its affiliates. All Rights Reserved.
文責:品川開発課 瀬戸 直喜(@Lionas)