Недавно я опубликовал приложение в Amazon App Store. После того, как я обнаружил некоторые неожиданные ошибки, я сделал исправления, а затем загрузил более новую версию.
Я был более чем удивлен, обнаружив, что приложение магазина приложений Amazon на самом деле не уведомляет пользователя о наличии доступного обновления. Насколько я могу судить, единственный способ для пользователя узнать об обновлениях — это открыть приложение, открыть ящик, выбрать «мои приложения», а затем нажать значок обновления. Никто и никогда не сделает этого, черт возьми. Всегда.
Единственное решение, которое я мог придумать, состояло в том, чтобы сохранить код текущей версии на сервере, а затем добавить код в приложение, которое сравнило бы версию на сервере с кодом версии в манифесте. Если бы версия на сервере была выше (которую я устанавливал вручную после того, как новое обновление появилось в магазине), приложение предлагало бы пользователю обновиться с помощью диалогового окна. Закрытие диалогового окна приводит пользователя на страницу этого приложения в приложении магазина приложений amazon.
Так что это прекрасно работает и все такое, но угадайте, что происходит, когда пользователь перенаправляется на страницу приложения Amazon для моего приложения? Там написано "открыть", а не "обновить". Если вы нажмете кнопку, вы просто вернетесь в приложение, которое снова покажет диалоговое окно. На этой странице нет даже значка обновления.
Еще раз, ЕДИНСТВЕННЫЙ способ для пользователей узнать об обновлении, даже после того, как они были перенаправлены непосредственно на страницу магазина приложений, — это открыть чертов ящик, выбрать «мои приложения», а затем нажать кнопку обновления.
Я должен что-то упустить здесь. Какого черта Amazon создала систему, которая чертовски недружественна для разработчика? Есть ли настройка где-то в консоли разработчика, о которой я не знаю?
Это то, что я использую, чтобы открыть приложение Amazon:
Intent goToAppstore = new Intent(Intent.ACTION_VIEW,Uri.parse("amzn://apps/android?p=" + getPackageName()));
goToAppstore.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getActivity().startActivity(goToAppstore);