Java 如何多次购买Google Play产品?
我只能买一件物品(“productitem1”)。如果我买了这个东西,我就不能再买了。但我需要它来买几次。在我的Google Play控制台中,我只能在“托管应用内产品”和“SUB”之间进行选择。我已将其设置为“管理应用内产品”Java 如何多次购买Google Play产品?,java,android,android-studio,developer-console,Java,Android,Android Studio,Developer Console,我只能买一件物品(“productitem1”)。如果我买了这个东西,我就不能再买了。但我需要它来买几次。在我的Google Play控制台中,我只能在“托管应用内产品”和“SUB”之间进行选择。我已将其设置为“管理应用内产品” 在您可以购买具有相同SKU的其他商品之前,您需要使用应用内计费API提供的方法之一,如IabHelper.consumerasync() 此处的更多信息:我收到错误:无法解析符号“mHelper”和符号“IabHelper”,您如何购买物品?请在您的问题中添加更多代码,
在您可以购买具有相同SKU的其他商品之前,您需要使用应用内计费API提供的方法之一,如
IabHelper.consumerasync()
此处的更多信息:我收到错误:无法解析符号“mHelper”和符号“IabHelper”,您如何购买物品?请在您的问题中添加更多代码,因为我们可以看到您正在使用的购买库的版本(显然mHelper是一个
IabHelper
实例),我使用问题帖子中的代码购买物品。我已经从谷歌导入了这些文件。所有购买工作正常,但我只能购买所有项目一次,而不是多次。如果我添加您的代码,我会收到错误消息无法解析符号“mHelper”,也无法解析符号“IabHelper”。要导入任何我可以使用IabHelper和mHelper的内容吗?我已导入“导入com.android.vending.billing.IInAppBillingService;”
@Override
protected void onActivityResult(int request, int response, Intent data) {
if (request == 42) {
int responseCode = data.getIntExtra("RESPONSE_CODE", 0);
String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA");
String dataSignature = data.getStringExtra("INAPP_DATE_SIGNATURE");
if (response == RESULT_OK) {
try {
JSONObject jo = new JSONObject(purchaseData);
String productId = jo.getString("productId");
Toast.makeText(this, "OK", Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
Log.e(getClass().getSimpleName(), "JSONException", e);
}
}
}
}
btnBuy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String name = "productitem1";
try {
Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), name, "inapp", "");
if(buyIntentBundle.getInt("RESPONSE_CODE")==0) {
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
startIntentSenderForResult(
pendingIntent.getIntentSender(), 42, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
}
} catch (Exception e) {
Log.e(Start.this.getClass().getSimpleName(),"Exception:",e);
}
}
});
mHelper.consumeAsync(inventory.getPurchase(SKU_ITEM), mConsumeFinishedListener);
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase, IabResult result) {
if (result.isSuccess()) {
// provision the in-app purchase to the user
// (for example, credit 50 gold coins to player's character)
} else {
// handle error
}
}
};