我们有一个支持 In App Billing v3 的安卓应用。在我们的测试中,其他一切都运行良好,但我们发现也可以通过查询库存来获得不活跃的产品。
这就是我们在应用产品库存中查询 Google Play 的方式:
ArrayList<String> moreSkus = new ArrayList<String>();
moreSkus.add("gas");
moreSkus.add("premium");
mHelper.queryInventoryAsync(true, moreSkus, mGotInventoryListener);
...
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, final Inventory inventory) {
if(inventory.hasDetails("premium")) {
System.out.println("Inactive product is also visible to app!");
}
}
};
在这两个产品中,“premium”是不活跃的,但是IabHelper.QueryInventoryFinishedListener中的打印语句还是被执行了!
有没有办法只获得活跃的产品?