如何测试应用内结算和getSkuDetails?

时间:2013-12-03 05:44:52

标签: android android-billing

1)用

上传.apk
<uses-permission android:name="com.android.vending.BILLING"/>

2)将项目添加到应用程序的产品列表中。他们很活跃。

3)有测试帐号。

mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener()

工作正常

但是

之后
mHelper.queryInventoryAsync(mGotInventoryListener) 

Bundle skuDetails = mService.getSkuDetails(3, mContext.getPackageName(), type, skusBundle);

或类似here

我看到响应中的空列表项。 skuDetails.containsKey(RESPONSE_GET_SKU_DETAILS_LIST)是真的

那么我应该怎样做才能获得物品信息呢?

1 个答案:

答案 0 :(得分:1)

我能够在未签名和签名的apks上检索我的应用内活动产品,因此我不认为这是Google方面的限制。

你应该检查你的“类型”,如果它是“子”,那么它将返回订阅产品而不是常规的应用内产品。 另外,请确保传递所有要获取信息的产品ID的字符串数组,如下所示:

    ArrayList<String> productIds = new ArrayList<String>();
    productIds.add(your_product_id);
    // ... add more product ids here if needed ...
    Bundle querySkus = new Bundle();
    querySkus.putStringArrayList("ITEM_ID_LIST", productIds);
    result = mService.getSkuDetails(3, your_package_name, "inapp",
                querySkus);
    // use "subs" instead of "inapp" for subscriptions