Android: как обновить приложение для Android с помощью inapp billing?

#android #in-app-purchase #google-play #in-app-billing

#Android #покупка в приложении #google-play #выставление счетов в приложении

Вопрос:

Еще один способ задать вопрос: как заставить inapp billing работать со всеми версиями моего приложения?

У меня есть приложение с биллингом inapp. Я хочу его обновить.

Мой активный apk на консоли разработчика находится в версии 1. Моя проблема заключается в следующем:

  • когда я устанавливаю свое обновленное приложение (подписанный пакет) версии 2 на свое устройство с помощью adb, я получаю следующее сообщение: «Эта версия пакета приложения не настроена для выставления счетов в Market».
  • когда я устанавливаю свое обновленное приложение (всегда подписанный пакет) в версии 1 (той же версии, что и на консоли) на свое устройство (чего я не могу сделать на консоли…Я должен увеличить номер версии!) с помощью adb все работает…

Следовательно, кажется, что inapp billing работает только с одной версией приложения: той, которая активна в консоли. Я полагаю, что у моих пользователей возникнет та же проблема: только пользователи с последним обновлением приложения смогут выставлять счета в приложении…другие получат сообщение об ошибке.

Кто-нибудь знает, как решить эту проблему? Как я могу сделать так, чтобы все мои приложения, уже установленные в мире, могли выставлять счета в приложении, независимо от номера версии??

Спасибо!!!

Ответ №1:

Под «консолью» вы подразумеваете учетную запись вашего издателя?

Я думаю, что это не ошибка, а функция по дизайну. Если вы попытаетесь совершить покупку, у которой нет ни одного из 4 android.test.* идентификаторов товара, и на ней запущена отладочная версия или даже релизная версия, более новая, чем та, которую вы опубликовали, вы получите это сообщение об ошибке:

введите описание изображения здесь

Например, если вы используете на своем устройстве режим выпуска, который на одну версию выше, чем на рынке, и вы пытаетесь приобрести реальный товар (не android.test.* один), вы получите вышеупомянутую ошибку.

Для дальнейшего уточнения: если вы запустите приложение с кодом более высокой версии, чем в AndroidMarket (с тем же именем пакета, конечно), ему удастся совершить покупку, если вы используете один из 4 android.test.* идентификаторов товара.

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

Ответ №2:

Вот что я заметил при использовании In-App-Billing.

  • Когда вы загружаете свой релиз apk (независимо от альфа / бета / производства), IAB не будет работать сразу, вам придется подождать несколько часов, прежде чем он заработает

  • Загрузка новой версии apk (более поздней версии) также будет такой же. Вам придется подождать несколько часов, чтобы оно в конечном итоге заработало. Более старая версия с IAB все еще будет работать. Что я обычно делаю, так это загружаю свой APK-релиз в виде бета-версии, жду несколько часов, затем, когда он уже работает, продвигаю apk в производство.

Ответ №3:

я сталкиваюсь с этой ошибкой. решение: пожалуйста, загрузите sign apk и протестируйте с вашим идентификатором продукта: com.test.purchased и установите в качестве продукта в приложении. (1) запустите на своем мобильном устройстве, используя экспорт с подписью apk. (2) если возникает ошибка, подождите 1-2 часа, потому что иногда Google принимает ответ с опозданием.