我有一个程序,它设置一个警告对话框,询问“你想为“价格”购买“标题”吗?
我知道 Google IAB 库有一个 getSku() 调用,但这仅在购买该项目的结果后可用。有没有办法在购买之前获得这两个变量?谢谢。
我可能已经看到了一个查询一组 sku 的项目,其中列出了所有项目,但我可能错了
我有一个程序,它设置一个警告对话框,询问“你想为“价格”购买“标题”吗?
我知道 Google IAB 库有一个 getSku() 调用,但这仅在购买该项目的结果后可用。有没有办法在购买之前获得这两个变量?谢谢。
我可能已经看到了一个查询一组 sku 的项目,其中列出了所有项目,但我可能错了
在 IABHelper 中使用此方法:
List<String> moreSkus = new ArrayList<String>();
moreSkus.add("sku1");
moreSkus.add("sku2");
mHelper.queryInventoryAsync(true, moreSkus, mGotInventoryListener);
我测试它工作正常,您可以将 inapp 或子类型 sku 添加到列表中,并返回 invenroty 中的所有详细信息
找到了解决方案。首先,您将需要 sku/产品 ID。
public void getProductDetails(String sku) throws RemoteException, JSONException {
logDebug("getProductDetails - " + sku);
ArrayList<String> skuList = new ArrayList<>();
// Add the specific sku
skuList.add(sku);
if (sku != null) {
Bundle querySkus = new Bundle();
querySkus.putStringArrayList(GET_SKU_DETAILS_ITEM_LIST, skuList);
Bundle skuDetails = mService.getSkuDetails(3, mContext.getPackageName(), ITEM_TYPE_INAPP, querySkus);
ArrayList<String> responseList = skuDetails.getStringArrayList(RESPONSE_GET_SKU_DETAILS_LIST);
for (String thisResponse : responseList) {
SkuDetails d = new SkuDetails(thisResponse);
logDebug("Looking at sku details: " + d);
purchaseTitle = d.getTitle(); // these are set as variables so you can call them
purchasePrice = d.getPrice(); // whenever you want
}
}
}