Подтвердить что ты не робот

Ошибка обновления iventory (запрос цен на предметы). (ответ: 6: ошибка)

Я столкнулся с такой же проблемой, как

Биллинг в приложении v3 не может запрашивать элементы без сетевого подключения или в режиме полета/полета

Это не всегда происходит. Вам нужно переключить телефон в режим самолета или отключить Wi-Fi, подождать несколько часов, только проблема возникнет. Отобразится следующее сообщение об ошибке.

Не удалось выполнить запрос iventory: IabResult: ошибка обновления iventory (запрос цен на предметы). (ответ: 6: ошибка)

Автор предложил использовать

List<String> skulist = new ArrayList<String>();
skulist.add("my_sku_name1");
skulist.add("my_sku_name2");
mHelper.queryInventoryAsync(true, skulist, mGotInventoryListener);

чтобы решить проблему.

Однако это не работает для меня. Такая же проблема все еще возникает.

Любое обходное решение этой проблемы? Спасибо.

4b9b3361

Ответ 1

Как сказал Джерри в своем комментарии, вы можете обойти это, позвонив

mHelper.queryInventoryAsync(false, mGotInventoryListener);

вместо

mHelper.queryInventoryAsync(mGotInventoryListener);

Я отключил все сетевые подключения с моего устройства (более одного дня) и могу надежно воспроизвести/исправить проблему с этим единственным изменением параметра. Похоже, что сама покупка будет кэшироваться дольше (на неопределенное время?) Службой биллинга в приложении, чем детали скрома, такие как цена.

Ответ 2

Похоже, что в Google Play закончились кэшированные предметы инвентаря. Это может быть подробная информация о том, как работает приложение Google Play.

Ошибка 6 определяется как BILLING_RESPONSE_RESULT_ERROR.

Если вам важно предлагать инвентарь для покупки даже без подключения к Интернету, вам может понадобиться последний последний результат кэширования и использовать их в случае сбоя запроса.

Однако, покупка также не будет работать в таком сценарии, так зачем беспокоиться?