Androidアプリにアプリ内課金を実装しました。私が使用するコードは次のとおりです:
oncreateメソッド:
startService(new Intent(this, BillingService.class));
System.out.println(" - - - - CHECK FOR THE PURCHASE PRODUCT - - - - ");
BillingHelper.setCompletedHandler(mTransactionHandler);
ハンドラーは次のとおりです。
public Handler mTransactionHandler = new Handler(){
public void handleMessage(android.os.Message msg) {
System.out.println("SEE FOR THE PRODUCTS PURCHASE OR NOT");
Log.i(TAG, "Transaction complete");
Log.i(TAG, "Transaction status: "+BillingHelper.latestPurchase.purchaseState);
Log.i(TAG, "Item purchased is: "+BillingHelper.latestPurchase.productId);
// For Premium Pro Purchase
if(BillingHelper.latestPurchase.productId == "premium_pro"){
if(BillingHelper.latestPurchase.isPurchased()){
System.out.println("START OPENING PREMIUM_PRO_BUY CONTENT");
myPrefs = getApplicationContext().getSharedPreferences("myPrefs",MODE_WORLD_WRITEABLE);
prefsEditor = myPrefs.edit();
prefsEditor.putBoolean("PREMIUM_PRO_BUY", true); // value to store
prefsEditor.commit();
PREMIUM_PRO_BUY = true;
System.out.println("NOW.. . . PREMIUM_PRO_BUY is as PURCHASED. :-)");
System.out.println("FINISH TO OPENING BLOCK CONTENT");
// showItem();
}
}
// For Feature Upgrade Purchase
if(BillingHelper.latestPurchase.productId == "feature_upgrade"){
if(BillingHelper.latestPurchase.isPurchased()){
System.out.println("START OPENING FEATURE_UPGRADE_BUY CONTENT");
myPrefs = getApplicationContext().getSharedPreferences("myPrefs",MODE_WORLD_WRITEABLE);
prefsEditor = myPrefs.edit();
prefsEditor.putBoolean("FEATURE_UPGRADE_BUY", true); // value to store
prefsEditor.commit();
FEATURE_UPGRADE_BUY = true;
System.out.println("NOW.. . . FEATURE_UPGRADE_BUY is as PURCHASED. :-)");
System.out.println("FINISH TO OPENING BLOCK CONTENT");
// showItem();
}
}
};
};
そして、ボタンをクリックして私のコードは次のとおりです。
// CODE TO GET PURCHASED
if(BillingHelper.isBillingSupported()){
BillingHelper.requestPurchase(getApplicationContext(), "feature_upgrade"); // MY OWN
} else {
Log.i(TAG,"Can't purchase on this device");
Toast.makeText(getApplicationContext(), "Please check internet and make sure that you have latest GooglePlay App in your Device.", Toast.LENGTH_LONG).show();
}
[購入を復元]ボタンをクリックすると、どの製品が購入であるかを確認したいと思います。だから私は何をしなければならないのですか?
私はこのSOの質問を見ました:これ、そしてこれ。しかし、どの製品がそのユーザーのために購入され、どの製品が購入されていないかがわかりません。
前もって感謝します。