<< Android-Note

消費型アイテムの作り方

アプリ内で販売することのできる課金アイテムには用途に応じて次の3種類があります。

ここでは何回でも購入できる消費型のアイテムの作り方を紹介します。

またInAppBillingはバージョン3のAPIを使っています。

アイテムの追加

まずGoogleDeveloperの画面を開きます。

そしてアプリを選び、メニューから「アプリ内アイテム」をクリックし、そこでアイテムの追加を選んでアイテムの種類とIDを追加します。

管理対象外のアイテムを選択

ただし、消費型のアイテムの種類には「管理対象外のアイテム」を選択します。(もしない場合は「管理対象のアイテム」を選択してください。)

あとはそのアイテムのタイトルや説明を書けばOKです。

アイテムの消費

消費型のアイテムの場合は購入後にアイテムを消費する処理が必要になります。

例えばonActivityResultで購入結果を受け取るとき、次のような処理をします。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if(requestCode == 12345){
        Bundle ownedItems;
        ownedItems = billingService.getPurchases(
                        3, getPackageName(), "inapp", null);
        if(ownedItems.getInt("RESPONSE_CODE") != 0){
            return;
        }
        
        ArrayList<String> purchaseDataList 
        = ownedItems.getStringArrayList("INAPP_PURCHASE_DATA_LIST");
            /// 購入された全てのアイテムの情報
        for(String purchaseData : purchaseDataList){
            JSONObject obj = new JSONObject(purchaseData);
            String purchaseToken = obj.optString(
                "token", obj.optString("purchaseToken"));
            billingService.consumePurchase(
                            3, getPackageName(), purchaseToken);
                ///アイテムを消費
        }
    }
}

購入されたアイテムのデータ一覧を取得してそれをIInAppBillingServiceクラスのconsumePurchaseで1つずつ消費していっています。

これをすることでアイテムを購入したアカウントからアイテムを削除して再び購入できるようになります。

関連項目
プライバシーポリシー