Mamy aplikację na Androida obsługującą funkcję rozliczeń za aplikację w usłudze V3. W naszych testach wszystko inne działało dobrze, ale okazało się, że nieaktywne produkty można również uzyskać, przesyłając zapytanie do inwentarza.Jak ukryć nieaktywne produkty w rozliczeniach za aplikacje?
W ten sposób nasze zapytanie w Google Play aplikacji produktów zapasy:
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!");
}
}
};
Między tymi dwoma produktami, „Premium” jest nieaktywna, ale instrukcja print w IabHelper.QueryInventoryFinishedListener został jeszcze wykonany!
Czy istnieje sposób na uzyskanie tylko aktywnych produktów?
jeśli wiesz, że składka jest nieaktywna, dlaczego pytasz o nią? – Michael