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

Есть ли способ автоматически обновлять приложение на Android?

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

Я думал о том, что здесь предложил, пытаясь связаться с моим сайтом периодически, и когда обновление доступно, загрузите его.

Есть ли способ сделать это обновление автоматически или даже тихо, так что пользователю не нужно ничего делать (например, запустить пакет вручную). Или, когда мой сайт показывает обновление, можно предлагать пользователям обновление через Google Play, даже если оно не установлено через Market (EDIT: этот вариант игры Google предпочтительнее, потому что пользователям не нужно будет проверять "разрешить установку нерыночные источники".)

4b9b3361

Ответ 1

У меня была такая же проблема, теперь я проверяю в начале моего приложения, если новая версия в моей конфигурации xml.

Я сравниваю фактическую версию с тегом "< app_version > 1.1 </app_version > " моей конфигурации .xml если его нижний я спрашиваю с пользовательским AlertDialog, если пользователь продолжит обновление

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);    

после загрузки пользователю необходимо запустить пакет вручную.

если вы выбрали обновление с рынка Android:

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);  

com.package.name должен быть "пакетом" вашего приложения.

или

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APP_NAME));
startActivity(intent);  

Ответ 2

Только что нашел способ, который работает. Огоньте намерение для рынка, который ищет мое приложение.

Протестировано с помощью OpenIntent Newsreader, потому что было легко найти более старую версию .apk. Рынок находит приложение, и когда пользователь нажимает кнопку установки, он заменяет более старую версию той, что есть на рынке. Я думаю, что это намного проще для пользователя, чем скачать вручную .apk и запустить его.

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);  

Ответ 3

Есть ли способ обновить те экземпляры, которые не загружены через Google Play, поскольку Google Play не будет уведомлять пользователей об обновлении.

Старый вопрос, новый ответ:

После копания по точному же вопросу (предварительно установленное приложение на устройстве, как я могу предоставить обновление через Google-Play), я нашел эту информацию на support.google.com *:

Google Play может управлять обновлениями для предварительно загруженных приложений при условии соблюдения следующих условий:

  • Предварительно загруженное приложение должно находиться в системном разделе
  • Предварительно загруженное приложение должно быть бесплатным.
  • Предварительно загруженное приложение должно быть подписано с той же подписью, что и приложение, опубликованное в Google Play.
  • Имя пакета предварительно загруженного и обновленного приложения должно быть одинаковым
  • Код версии обновленного приложения должен быть больше, чем в предустановленном приложении

* по состоянию на 2015-04-13

Ответ 4

Я разрабатываю приложение, которое скорее всего, будет предустановлен на устройства.

Затем вам нужно поговорить с производителями устройств и задать им свои вопросы. Никто другой не сможет рассказать вам, что есть и что невозможно, с учетом их устройства и носителя (ов), который будет распространять его. Ответы будут в значительной степени зависеть от того, как они создают свою прошивку, независимо от того, будет ли ваше приложение частью встроенного программного обеспечения или "установлено" как обычное приложение, какова их договоренность с носителем в отношении обновлений прошивки и т.д. Вы даже не можете получить голосование по этому вопросу.

Ответ 5

Если кто-то, связав приложение с устройством, выполняет его надлежащую работу, то приложение все равно будет иметь рыночную ссылку (даже в виде системного приложения), и Market предложит пользователю обновить его, если доступна новая версия. В конце концов, это именно то, что происходит с приложением вроде GMail, которое предварительно установлено на телефонах.

Ответ 6

Вы не можете установить или обновить пакет автоматически. Только Android Market способен это сделать (т.е. Он тихо обновляет себя).

Вы можете загрузить пакет и запустить Intent, чтобы установить его, но у пользователя должны быть включены опции "Разрешить нерыночные приложения", и им все равно придется вручную утверждать установку/обновление.

Одно место, которое можно исследовать, - это то, как Google Maps это делает. Я полагаю, что это обычно предустановлено, но всегда кажется, что оно отображается как обновление в приложении Android Market. Есть ли специальный флаг в packages.xml или манифест, я не знаю.

Ответ 7

Есть хороший сервис, который помогает вашему приложению обновляться. Взгляните на https://www.pushlink.com

В этом продукте есть режим NINJA, который позволяет выполнять обновления без взаимодействия с пользователем.

Для других "режимов" по-прежнему необходимо включить "Установить нерыночное приложение". Если он не включен, процесс установки будет запрашивать его и перенаправить пользователя в параметры приложения, после чего пользователь сможет установить приложение.

Ответ 8

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

Вариант использования - приложение для киосков на планшетах одной марки и модели, в которых нет Google Play.

Ответ 10

Вот вариант для обновления последней версии

https://developer.android.com/guide/app-bundle/in-app-updates#update_readiness

попробуйте эту библиотеку Google для обновления из приложения

 dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}

Я надеюсь, что это поможет любому