2010-06-16 14 views
32

Estoy desarrollando una aplicación que probablemente estará preinstalada en los dispositivos. También estará disponible en Google Play. ¿Hay alguna manera de actualizar esas instancias que no se descargan a través de Google Play, ya que Google Play no notificará a los usuarios sobre una actualización.¿Hay alguna forma de actualizar automáticamente la aplicación en Android?

Estaba pensando en, como suggested here, tratando de contactar mi sitio periódicamente, y cuando la actualización esté disponible, descárgala.

¿Hay alguna manera de hacer esta actualización automáticamente, o incluso en silencio, para que el usuario no tenga que hacer nada (como ejecutar el paquete manualmente). O, cuando mi sitio muestre que la actualización está disponible, para ofrecer a los usuarios una actualización a través de Google Play, aunque no esté instalado a través de Market (EDITAR: Esta opción de reproducción de Google sería preferible, porque los usuarios no tendrían que marcar "permitir la instalación de fuentes no comerciales ".)

+1

preinstalado en dispositivos ¿cómo? –

+0

Preinstalado al trabajar para o con un proveedor o proveedor de dispositivos, presumiblemente. –

+1

Sí, muy probablemente, pero si se tratara de un entorno corporativo o algo así, una opción sería instalarla originalmente descargando del mercado, en lugar de tener que implementar su propio actualizador. –

Respuesta

41

tuve el mismo problema, ahora miro al inicio de mi aplicación si hay una nueva versión en mi configuración xml.

que comparar la versión actual con la etiqueta "< APP_VERSION> 1.1 </APP_VERSION>" de mi configuration.xml si es menor que pido con una costumbre AlertDialog si el usuario proceda a la actualización

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

después de la descarga, el usuario debe ejecutar el paquete manualmente.

si elige la actualización desde el Android uso en el mercado:

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

com.package.name debe ser el "paquete" de su aplicación

o

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

Eso es más o menos lo que tenía en mente. Todavía es un poco complicado para los usuarios ... Gracias – Levara

+5

¿Cómo se compara con la versión de GooglePlay? Hombre Se apreciará –

+1

Lo que hago es tener la última versión en Internet, por ejemplo sudominio.com/lastversion.txt. Cuando la aplicación se inicia, realiza un http para llegar a la url donde se anota la última versión y se compara con la versión de la aplicación; si la versión remota es más alta, entonces la intento. Entonces, después de que su versión sea aprobada de Google play, actualizo sus contenidos de dominio/última versión.txt con la nueva versión lanzada. –

0

No puede instalar o actualizar un paquete de forma automática. Solo Android Market es capaz de hacer esto (es decir, se actualiza de forma silenciosa).

Sin duda puede descargar un paquete y disparar el Intent para instalarlo, pero el usuario tendrá que tener habilitadas las opciones "Permitir aplicaciones que no sean de Market", y aún tendrá que aprobar manualmente la instalación/actualización.

Un lugar donde posiblemente investigar es cómo lo hace Google Maps. Esto generalmente está preinstalado, pero siempre parece mostrarse como una actualización en la aplicación Android Market, creo. Si hay una bandera especial en el packages.xml o manifiesto, no lo sé.

+0

Gracias, intentaré investigar eso. – Levara

4

estoy desarrollando una aplicación que probablemente estará preinstalada en dispositivos .

Luego debe hablar con los fabricantes del dispositivo y hacerles preguntas. Nadie más podrá decirle lo que es o no es posible, dado su dispositivo y la (s) empresa (s) que lo (a) distribuirán. Las respuestas dependerán en gran medida de cómo crean su firmware, si su aplicación será parte del firmware o "instalada" como una aplicación normal, cuál es su arreglo con el operador con respecto a las actualizaciones de firmware, etc. Puede que no incluso obtener un voto en el asunto.

+3

"Es posible que ni siquiera tenga una votación al respecto". No ... Es por eso que estoy buscando una forma alternativa ...: P – Levara

+0

Tal vez pueda actualizar su respuesta y apuntar a su actualizador de cwac – rds

+0

@CommonsWar podemos actualizar automáticamente la aplicación lanucher desde google play ? Estoy frente a un problema http://stackoverflow.com/questions/39504146/google-play-auto-update-does-not-update-apps#39504146 – PankajAndroid

8

Acabo de encontrar una manera que funciona. Intento de Intento para un Mercado que busca mi aplicación.

Probado con OpenIntent Newsreader porque era fácil encontrar una versión anterior .apk. Market encuentra una aplicación, y cuando el usuario hace clic en instalar, reemplaza la versión anterior por la del Mercado. Creo que es una solución mucho más fácil para un usuario que descargar .apk manualmente y ejecutarlo.

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

¿Y qué pasa si no hay Market (es decir, Google Apps) en el dispositivo? –

+0

Todos mis usuarios deberían tener Market instalado. Supongo que, si ese no es el caso, la respuesta de Jorgesys es la única opción. – Levara

1

Si cualquiera incluido la aplicación en el dispositivo hace un trabajo adecuado de la misma, a continuación, la aplicación va todavía tienen un enlace de mercado (incluso como una aplicación del sistema) y el Mercado le pedirá al usuario para actualizarlo si un nuevo la versión está disponible. Después de todo, eso es exactamente lo que sucede con una aplicación como GMail que está preinstalada en los teléfonos.

7

Hay una manera de actualizar las instancias que no se descargan a través de Google Play, ya que Google Play no notificará a los usuarios sobre una actualización.

cuestión antigua, nueva respuesta:

Después de cavar en exactamente la misma pregunta (aplicación preinstalada en el dispositivo, ¿cómo puedo proporcionar una actualización a través de Google Play) encontré esta información en support.google.com *:

Google Play puede administrar actualizaciones para las aplicaciones precargadas, siempre que se cumplan las siguientes condiciones:

  • La aplicación cargada previamente debe estar en la partición del sistema
  • La aplicación cargada previamente tiene que estar libre
  • La aplicación cargada previamente debe ser firmado con la misma firma que la aplicación publicada en Google Play
  • el nombre del paquete de la aplicación precargada y actualizada necesita ser el mismo
  • el código de la versión de la aplicación actualizada tiene que ser mayor que la de la aplicación cargada previamente

* a partir del 2015-04-13

+0

A partir del 10/10/13, uno de los requisitos es "La aplicación precargada debe ser gratuita". –

0

Hay un buen servicio que ayuda a su aplicación a mantenerse actualizada. Eche un vistazo a https://www.pushlink.com

En este producto hay un modo NINJA que permite realizar actualizaciones sin interacción del usuario.

Para otros "modos", sigue siendo necesario habilitar "Instalar aplicaciones no de mercado". Si no está habilitado, el proceso de instalación lo va a solicitar y redirigir al usuario a la Configuración de la aplicación, y luego de eso, el usuario puede instalar la aplicación.

+0

¿Puede llevarme a alguna documentación o a un blog o algo sobre este modo Ninja, así que puedo excavar un poco más? Gracias. – yahya

+1

Creo que debería señalar que https://www.pushlink.com es una solución paga – hyena

+0

¡Y una muy cara! 5000 instalaciones es 1250 por mes, y va * arriba *. Un poco escandaloso, pero si eres una empresa tonta, entonces está bien. Target es probablemente una pequeña base instalada de una aplicación privada. –

0

Es posible actualizar totalmente automáticamente una aplicación, si puede firmar una aplicación como sistema. Escribimos una aplicación para hardware específico, creamos una aplicación de actualización que el fabricante firmó para nosotros. La aplicación de actualización se ejecuta al iniciarse el dispositivo, comprueba la versión actual de la aplicación y la nueva, e instala la nueva versión si es necesario.

El caso de uso sería una aplicación de quiosco, en tabletas de una marca y modelo, que no tienen Google Play.

Cuestiones relacionadas