※本記事は、Amazon Mobile App SDK/In-App Purchasing API の Quick 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> セクションに以下の行を追加する必要があります。
<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>
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;
}
}
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");
}
};
5. レスポンスの通知をハンドルする
購入リクエストの呼び出しの初期化後、Purchasing Observer はリクエストにマッチしているレスポンスオブジェクトのコールバックを受信します。アプリは、コールバックを受信したレスポンスオブジェクトをハンドルし、ユーザーにコンテンツを提供する必要があります。
この実装はアプリ特有のものです。この時点で基本的な実装は完了し、SDK Tester App を使用してテストを開始することができます。
(C) 2010-2013, Amazon.com, Inc. or its affiliates. All Rights Reserved.
文責:品川開発課 瀬戸 直喜(@Lionas)
記載されている会社名、および商品名等は、各社の商標または登録商標です。
0 コメント:
コメントを投稿