¿Cómo evitar que algunos usuarios actualicen la aplicación del mercado de Android?
Tenemos una aplicación, que puede ser descargada de forma gratuita, pero funciona con datos pagados y con licencia. Algunos usuarios compran la versión particular de los datos mientras que otros compran derecho a utilizar los datos más recientes durante algún período de tiempo. Ahora, a medida que la aplicación evoluciona, finalmente deja de soportar datos anteriores a alguna fecha. Por lo tanto, obviamente, los usuarios que tienen los datos de licencia, pero no hay licencia para los nuevos datos no quieren actualizar. Pero si publicamos una nueva versión en el mercado, lo verían y si se actualizan, tendrán problemas para volver a bajar a la versión que realmente funciona para ellos.
Así que podemos de alguna manera instruir la aplicación del mercado para no ofrecer actualizaciones para el usuario en particular o algún hack para lograr ese fin?
- Google play muestra todas las capturas de pantalla
- Aplicación no visible en Play Store
- En la facturación de aplicaciones en android
- ¿Puedes buscar en Google Play con Intent?
- Cómo usar los enlaces de la aplicación para pasar el parámetro a la tienda de android para ser recuperado cuando la aplicación está instalada
En la actualidad utilizamos mecanismos completamente independientes en el mercado para vender y verificar las licencias de los datos, pero podríamos considerar diferentes mecanismos (como el soporte de facturación de Android en la aplicación o algo así) si pudiera ayudar a resolver el problema.
- Error de Google Play "Error al recuperar información del servidor "
- En el módulo BillingService, ¿qué necesita modificarse para aumentar la seguridad?
- Android IAB: "Error al actualizar el inventario (consultar precios de los elementos)" Error del desarrollador
- Nexus 7 Soporte para Android Application Manifest Assembly
- El mismo almacén de claves pero diferentes huellas dactilares
- Localización de la aplicación Google Play Store
- ¿Cuál es la posición de Google en el spam de palabras clave?
- Error en la aplicación de Google Play Alpha BM-PPH-01
La forma en que lo veo, tiene dos opciones para "deshabilitar" las actualizaciones:
- Utilice una clave de firma diferente: esto evitará la instalación sin la eliminación de la aplicación anterior, pero las notificaciones de actualización seguirán apareciendo (creo)
- Utilice un nombre de paquete diferente – esto evitará las actualizaciones ya que es una aplicación completamente independiente en lo que respecta al mercado, y también tiene el efecto secundario de que las versiones antiguas todavía están disponibles para los usuarios que tienen licencia para esa versión de datos.
La segunda opción puede ser una mejor coincidencia ya que puede implementar actualizaciones si es necesario para correcciones de errores, pero también puede garantizar que las versiones completamente nuevas no se detecten como una actualización.
EDITAR:
Totalmente de acuerdo en que las opciones anteriores son engorrosos y realmente no resolver el problema tal cual.
Como mencionaste sin embargo, puedes usar la facturación en la aplicación , pero dada la naturaleza de tus necesidades, tendrías que usar compras no administradas, lo que significa que necesitarás alguna infraestructura para administrar la autorización de compras e impedir que la gente compre la misma licencia. muchas veces.
Supongo que ya tienes mucha de esa infraestructura en lugar de manejar la distribución de los datos sin embargo.
¿Los datos no pueden contener un número de "versión de formato" al comienzo del archivo?
A continuación, puede programar la aplicación para leer los archivos de la versión 1, una nueva aplicación necesita más campos en el origen de datos, por lo que crear datos de la versión 2, lo que agrega campos adicionales, la versión 1 aplicación ve los datos necesita una aplicación más reciente, Para actualizar.
La aplicación de la versión 2 debería saber leer los archivos de la versión 1 y los de la versión 2 (tal vez crear una interfaz de lectores e implementar cargadores para las diferentes versiones de los archivos).
Tendrás que manejar los datos que faltan en archivos v1 / old en el cargador en la aplicación v2. La carga de archivos antiguos es la mejor manera para el cliente, ya que la aplicación no debería dejar de funcionar después de una actualización.
Si guarda una copia de los datos de cada formato, puede ejecutar rápidamente pruebas para comprobar que el cargador de la nueva versión puede cargar cada archivo correctamente, además si la aplicación tiene un error allí no tendrá que corregir varias versiones de la aplicación, solo la actual .
Ok. Vi uno de los carteles sugiere que tienes una manera de leer los datos antiguos.
Primero que es probablemente la mejor opción pero como usted dice sus apps un lío. Debe invertir un poco de tiempo en la migración de sus datos de lectura / escritura a una capa de abstracción. El dolor que su tener en un proyecto (probablemente menos de 4 años de edad) sólo va a empeorar.
Bueno .. así que aquí es cómo he tratado con él en aplicaciones de larga vida.
Cree una ruta de migración. Cree una nueva llamada de clase Migrate. En él tienen varias funciones para convertir la versión del archivo de n a n-1 convert_1_to_2 (fileName) {comprobar la versión y actualizar datos.) Convert_2_to_3 (fileName) …
Sospecho que usted tiene su código antiguo, y podría escribir un método para convertir un bit de datos a la siguiente .. Cuando se añaden nuevas características a los datos, a continuación, crear un nuevo convertido .. Ningún conocimiento de los anteriores sería Necesario, y todo sería bonito y autónomo. Incluso podría tener sub migraciones, así que a lo largo del ciclo de dev, podría haber convert_3a_to_3b.
Ahora … puede archivar la versión original de los datos en caso de que el usuario quiera volver.
Si se accede a los datos de forma remota, es posible que la aplicación incluya la versión o algún hash de sí mismo al solicitarla. Y luego filtrar los datos proporcionados sobre la base de esa información.
Si ya tiene la compra integrada en la aplicación y la infraestructura para soportarla, solo busque nuevos datos cuando se actualice la aplicación. Si el usuario ha adquirido la licencia para los datos actuales, sírvase proporcionarla. De lo contrario, siga utilizando los datos existentes.
Vine con una opción que el mercado contendrá un instalador que descargará e instalará otro .apk
contiene el núcleo de la aplicación localmente.
Ya tenemos un diálogo de instalador en la aplicación para descargar los datos y el usuario tiene que ingresarlo al usar la aplicación por primera vez, por lo que también puede ser responsable del núcleo de la aplicación.
No puedes evitar que los usuarios descarguen la nueva versión de una aplicación que ya tienen. Puede registrar una nueva aplicación o revisar la versión y los datos de usuario mediante programación.
- Emisión de concurrencia para la cancelación del bucle de encuesta larga
- ¿Puedo reutilizar LayoutPrams con ViewGroup.addView?