Android RESTORE_TRANSACTIONS возвращает RESULT_SERVICE_UNAVAILABLE
У меня есть приложение, которое использует покупки в приложении. Я интегрировал весь код из примера Dungeons за исключением компонентов пользовательского интерфейса. Я отправил свой черновик apk, активировал его, создал покупки в приложении, все из которых управляются, и опубликовал их.
Я успешно могу покупать предметы в приложении и разблокировать соответствующий контент без проблем. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я звоню, чтобы восстановить транзакции, я получаю код ошибки RESULT_SERVICE_UNAVAILABLE. Я знаю, что код результата означает, что приложение не может получить доступ к магазину, но это не имеет смысла, поскольку я могу покупать товары просто отлично.
Я работаю на HTC Nexus One с Android v2.3.6 и Google Play v3.5.16. Я подключаюсь через WiFi, потому что нет тарифного плана для устройства. Установленный apk точно такой же, как и представленный черновик apk. Я устанавливаю apk с помощью команды adb -d install.
Любые предложения о том, что может вызвать это или где искать, будет принята с благодарностью.
Спасибо
4 ответа
Если вы найдете подобное сообщение в журнале:
05-30 09: 28: 23.760: E / Volley (4636): [13] BasicNetwork.performRequest: непредвиденный код ответа 429 для https://android.clients.google.com/vending/api/ApiRequest
это может означать, что вы отправили слишком много запроса RESTORE_TRANSACTIONS за определенное время. У Google явно есть некоторые ограничения по запросу. Это случилось со мной во время тестирования биллинга в приложении, ок. 20-30 запросов на восстановление транзакций прошли нормально, а затем - точно такая же проблема - служба недоступна, ответ.
Это означает, что вы выполнили слишком много RESTORE_TRANSACTIONS, и служба, к сожалению, будет недоступна в течение X дней, поскольку я столкнулся с той же проблемой.
НО... Это зависит от устройства, поэтому, если вы снова начнете тестирование на другом устройстве или сбросите настройки устройства до заводских настроек, вы сможете избежать этого.
У меня была такая же проблема, и оказалось, что пароль на основной учетной записи gmail на устройстве был неверным. Поэтому, когда я проверил, поддерживается ли биллинг, я получил RESULT_OK, но для восстановления покупок я получил RESULT_SERVICE_UNAVAILABLE.
Зайдите в свой Gmail или любые приложения Google и обновите. Дважды проверьте правильность пароля учетной записи и повторите попытку.
Эта проблема также отображается в logcat как
NotifyingErrorListener.onErrorResponse: ошибка сервера при InAppPurchaseInformationRequest: com.android.AuthFailureError: пользователю необходимо (повторно) ввести учетные данные
Проверьте вывод logcat, возможно там есть какие-то предупреждения. Кроме этого, не уверен на 100%, что RESTORE_TRANSACTIONS работает с неопубликованными приложениями и тестовыми аккаунтами. Может быть, "служба недоступна" просто означает "не поддерживается" в этом случае?