it-swarm.com.de

Gibt es eine Möglichkeit, die Anwendung auf Android automatisch zu aktualisieren?

Ich entwickle eine Anwendung, die höchstwahrscheinlich auf Geräten vorinstalliert wird. Es wird auch bei Google Play verfügbar sein. Gibt es eine Möglichkeit, solche Instanzen zu aktualisieren, die nicht über Google Play heruntergeladen werden, da Google Play Benutzer nicht über ein Update informiert. 

Ich habe darüber nachgedacht, wie hier vorgeschlagen , regelmäßig versucht, meine Website zu kontaktieren, und wenn ein Update verfügbar ist, laden Sie es herunter. 

Gibt es eine Möglichkeit, dieses Update automatisch oder sogar im Hintergrund durchzuführen, damit der Benutzer nichts tun muss (z. B. das Paket manuell ausführen) muss. Oder wenn auf meiner Website Update verfügbar ist, können Sie den Benutzern ein Update über Google Play anbieten, auch wenn sie nicht über Market installiert sind Nichtmarktquellen ".)

35
Levara

ich hatte das gleiche Problem, jetzt überprüfe ich zu Beginn meiner App, ob es eine neue Version in meiner Konfigurations-XML gibt.

Ich vergleiche die aktuelle Version mit dem Tag "<app_version> 1.1 </ app_version>" meiner configuration.xml Wenn es niedriger ist, frage ich mit einem benutzerdefinierten AlertDialog, ob der Benutzer das Upgrade fortsetzt

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

nach dem Download muss der Benutzer das Paket manuell ausführen.

wenn Sie das Update aus dem Android Market auswählen, verwenden Sie Folgendes:

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

com.package.name muss das "Paket" Ihrer App sein

oder

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

Nur einen Weg gefunden, der funktioniert. Feuern Sie eine Absicht für einen Markt ab, der nach meiner Anwendung sucht.

Getestet mit OpenIntent Newsreader, da eine ältere Version .apk leicht zu finden war. Market findet eine Anwendung, und wenn der Benutzer auf "Installieren" klickt, wird die ältere Version durch die Version von Market ersetzt. Ich denke, das ist eine viel einfachere Lösung für einen Benutzer als das manuelle Herunterladen von .apk und dessen Ausführung.

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

Gibt es eine Möglichkeit, solche Instanzen zu aktualisieren, die nicht über Google Play heruntergeladen werden, da Google Play Benutzer nicht über ein Update informiert. 

Alte Frage, neue Antwort:

Nach genau derselben Frage (vorinstallierte App auf dem Gerät, wie kann ich ein Update über Google-Play bereitstellen), habe ich diese Informationen auf support.google.com * gefunden:

Google Play kann Updates für vorinstallierte Anwendungen verwalten, sofern die folgenden Bedingungen erfüllt sind:

  • Die vorinstallierte App muss sich in der Systempartition befinden
  • Die vorinstallierte App muss kostenlos sein
  • Die vorinstallierte App muss mit derselben Signatur signiert sein wie die in Google Play veröffentlichte App
  • Der Paketname der vorinstallierten und aktualisierten App muss identisch sein
  • Der Versionscode der aktualisierten App muss größer sein als der der vorab geladenen App

* Stand vom 13.04.2015

7
GeneSys

Ich entwickle eine Anwendung, die wird höchstwahrscheinlich auf .__ vorinstalliert. Geräte.

Dann müssen Sie mit den Geräteherstellern sprechen und ihnen Ihre Fragen stellen. Niemand sonst kann Ihnen sagen, was ist und was nicht möglich ist, angesichts des Geräts und der Träger, die es verteilen werden. Die Antworten hängen stark davon ab, wie sie ihre Firmware erstellen, ob Ihre Anwendung Teil der Firmware ist oder wie eine normale App "installiert" ist, wie sie mit dem Netzbetreiber vereinbart sind bezüglich VisFirmware-Updates usw. kann nicht einmal eine Abstimmung in der Angelegenheit erhalten.

4
CommonsWare

Wenn derjenige, der die App auf dem Gerät gebündelt hat, dies ordnungsgemäß erledigt, hat die App noch einen Market-Link (sogar als System-App), und Market fordert den Benutzer auf, ein Upgrade durchzuführen, wenn eine neue Version verfügbar ist. Genau das passiert mit einer auf Mobiltelefonen vorinstallierten App wie GMail.

1
hobbs

Sie können ein Paket nicht automatisch installieren oder aktualisieren. Nur der Android Market ist dazu in der Lage (d. H. Er aktualisiert sich im Hintergrund).

Sie können zwar ein Paket herunterladen und die Intent starten, um es zu installieren, aber der Benutzer muss die Optionen für "Nicht-Market-Apps zulassen" aktiviert haben, und er muss die Installation/das Upgrade dennoch manuell genehmigen.

Möglicherweise wird untersucht, wie Google Maps dies tut. Dies ist in der Regel vorinstalliert, scheint aber in der Android Market-App immer als Update angezeigt zu werden. Ob es eine spezielle Flagge im packages.xml oder Manifest gibt, weiß ich nicht.

0
Christopher Orr

Es ist möglich, eine App vollautomatisch zu aktualisieren, wenn Sie eine App als System-App signieren können. Wir haben eine App für bestimmte Hardware geschrieben und eine Update-App erstellt, die der Hersteller für uns signiert hat. Die Update-App wird beim Start des Geräts ausgeführt, überprüft die aktuelle Version der App und die neue Version und installiert bei Bedarf die neue Version. 

Der Anwendungsfall wäre eine Kiosk-App auf Tablets einer Marke und eines Modells, die kein Google Play haben. 

0
Christine

Google im Jahr 2018 Android dev summit kündigte Android-In-App-Updates für Entwickler an, sodass Sie die gesamte Geschichte hier lesen und sich über diese Frage informieren können. Android-In-App-Update-Details

0
Rizvan

Es gibt einen Nice-Service, mit dem sich Ihre App auf dem neuesten Stand halten kann. Werfen Sie einen Blick auf https://www.pushlink.com

In diesem Produkt gibt es einen NINJA-Modus, mit dem Updates ohne Benutzerinteraktion durchgeführt werden können.

Für andere "Modi" ist noch die Aktivierung von "Nicht-Market-App installieren" erforderlich. Wenn die Option nicht aktiviert ist, werden Sie vom Installationsprozess dazu aufgefordert und der Benutzer wird zu den Anwendungseinstellungen umgeleitet. Anschließend kann der Benutzer die App installieren.

0
CelinHC