我一直在关注如何使用TrivialDrive中的示例代码设置应用内购买的Google教程。 http://developer.android.com/training/in-app-billing/preparing-iab-app.html#GetSample
我已经创建了一些应用内商品,但我只能查询"托管产品'而不是'
mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener);
final IabHelper.QueryInventoryFinishedListener
mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, Inventory inventory)
{
if (result.isFailure()) {
toast("query fail");
return;
}
SkuDetails subscription = inventory.getSkuDetails(SKU_SUBSCRIPTION);
SkuDetails test = inventory.getSkuDetails(SKU_TEST);
if(subscription != null) {
toast("subscription: " + subscription.toString());
// update the UI
}
else {
toast("subscription: null " + inventory.toString());
}
}
};
SkuDetails订阅始终为空,但SkuDetails测试不是,我创建了多个订阅和被管理产品,但它只是订阅不起作用。
非常感谢任何帮助。
答案 0 :(得分:1)
试试这个
准备sku列表包
ArrayList<String> skuList = new ArrayList<String> ();
skuList.add(SKU_TEST);
Bundle querySkus = new Bundle();
querySkus.putStringArrayList(“ITEM_ID_LIST”, skuList);
并在应用内结算版本3 API上调用getSkuDetails方法,将方法传递给应用内结算API版本(“3”),调用应用的包名称,购买类型(“subs”) ,以及你创建的Bundle。
Bundle skuDetails = mService.getSkuDetails(3,
getPackageName(), "subs", querySkus);