Intereting Posts
Android: gravity = "right" не работает на всех устройствах для арабского и других языков RTL Как получить обратную анимацию ActivityOptions.makeScaleUpAnimation при завершении дочерней активности на Android? Android получит время в этом формате `yyyy-mm-dd hh: mm: ss` IOS эквивалент запуска Activity на Android React-native Android Systrace HTML пуст в Ubuntu 14.04 Обновлено до версии SDK 2.3 – теперь эмуляторы не имеют возможности подключения Загрузка изображения с помощью OpenCV на Android Android IllegalStateException: не удалось выполнить метод действия Используйте аннотации поддержки Android, такие как @StringRes, @LayoutRes, @DrawableRes для массивов целых чисел Создать приложения для Android с помощью Xcode? Ошибка при создании AOSP для Ubuntu 15.04 из Master-Build Stopped Subcommand Failed Отключить прокрутку в списке Интеграция приложения с результатами поиска Google и Chrome Индикатор прогресса Android У меня странная ошибка при использовании ViewPager внутри фрагмента

Как скрыть неактивные продукты из биллинга приложений?

У нас есть приложение для Android, поддерживающее 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 все еще выполнен!

Есть ли способ получить только активные продукты?

AFAIK, вы можете удалить sku из списка запросов

 //moreSkus.add("premium"); //don't query this item 

Это зависит от вашего кода, но имеет смысл, поскольку вы не можете запрашивать все доступные продукты с пустым списком «moreSku», вам нужно выбрать то, что вы действительно хотите; Это все равно зависит от вашего кода. Надеюсь, это поможет.