Исключить понижение версии приложения из разных источников

#android #marketplace #downgrade

#Android #Магазин #понижение версии

Вопрос:

У меня есть приложение с версией 1.1 на одном рынке (скажем, getjar) и такое же приложение с версией 1.2 на другом рынке (скажем, Amazon)… это сделано по некоторым глубоко эзотерическим причинам: D … Серьезно, нечетные версии бесплатны, в то время как четные версии ПЛАТНЫЕ.

Если пользователь уже установил версию 1.2, возможно ли (например, установив флаг!) запретить телефону устанавливать более низкую версию приложения?

Спасибо,
Раджат

Ответ №1:

Если я правильно понимаю, вы хотите запретить тому, кто установил приложение с Amazon, устанавливать вместо него приложение для getjar. Если это так, то самый простой способ — использовать разные сертификаты для подписи apk, которые вы предоставляете через getjar и amazon. если два apk подписаны иначе, чем Android, это не позволит устанавливать одно поверх другого.

Однако это не приведет к тому, что кто-то вручную удалит приложение Amazon, а затем установит getjar.

Комментарии:

1. Я хочу разрешить обновление (того же) приложения, но не разрешать понижение версии.

2. Аааа, хорошо. Если вы уже выпустили приложение в этих магазинах, то это не сработает, поскольку вы нарушите механизм обновления для одного из них, изменив сертификат. Если вам еще предстоит выпустить свое приложение, то вы могли бы использовать этот метод довольно эффективно.

3. Мне еще предстоит выпустить приложение. Но, изменив сертификаты, пользователь не сможет обновиться, верно?

4. Если вы используете разные сертификаты, то пользователь будет привязан к обновлениям, которые подписаны одним и тем же сертификатом. Поэтому, если вы использовали другой сертификат для подписи вашего amazon apk, чем ваш getjar, то пользователи, которые изначально установили с amazon, смогут обновиться только с Amazon, а не с getjar. Если только они сначала не удалили amazon one вручную.