¿Cómo obtener información sobre la versión del mercado de las aplicaciones de Google Play Store?
¿Cómo puedo obtener la información de la versión de la aplicación de google play store para solicitar al usuario la actualización forzada / recomendada de la aplicación cuando se actualiza la aplicación de reproducción, es decir, en caso de que el usuario utilice una aplicación de versión antigua. Ya he pasado por andorid-market-api que no es forma oficial y también requiere autenticación de inicio de sesión oauth de google. También he ido a través de la consulta de Android que proporciona en la versión de la aplicación de verificación, pero no está funcionando en mi caso. Encontré dos alternativas:
- Utilizar la API del servidor que almacenará la información de la versión
- Utilizar las etiquetas de google y acceder a ella en la aplicación, que no es una forma preferida de ir.
¿Hay otras maneras de hacerlo fácilmente?
- La carpeta "gen" de Android y SVN - enemigos amargos
- Cómo bifurcar el código de todo el sistema operativo Android?
- Funciones de llamada dentro de fragmentos en Android
- ¿Debo crear una sucursal para la versión gratuita de mi aplicación para Android?
- ¿Cómo libera dos versiones de una aplicación en el Market?
- ¿Cómo desactivar el control de versiones en android studio?
- ¿Qué es un buen sistema de control de código libre para el desarrollo de android de eclipse?
- ¿Cómo debo organizar el control de código fuente para los proyectos de Android, incluidas las bibliotecas?
- Acabo de crear pequeño proyecto androide en Eclipse, ¿qué archivos debo agregar al control de versiones?
- ¿Qué entra en el control de código fuente?
- Intellij (Android Studio) git integración: ¿Dónde está .git?
- Incorporar detalles de la versión en android APK
- ¿Cómo debo estructurar mi proyecto para compartir clases entre una aplicación cliente de Android y una aplicación de servidor JSP?
Recomned no utilizar una biblioteca sólo crear una nueva clase
1.
public class VersionChecker extends AsyncTask<String, String, String>{ String newVersion; @Override protected String doInBackground(String... params) { try { newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + "package name" + "&hl=en") .timeout(30000) .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6") .referrer("http://www.google.com") .get() .select("div[itemprop=softwareVersion]") .first() .ownText(); } catch (IOException e) { e.printStackTrace(); } return newVersion; }
-
En su actividad:
VersionChecker versionChecker = new VersionChecker(); String latestVersion = versionChecker.execute().get();
ESO ES TODO
Aquí está la versión jQuery para obtener el número de versión si alguien más lo necesita.
$.get("https://play.google.com/store/apps/details?id=" + packageName + "&hl=en", function(data){ console.log($('<div/>').html(data).contents().find('div[itemprop="softwareVersion"]').text().trim()); });
Puede llamar al siguiente WebService: http://carreto.pt/tools/android-store-version/?package=%5BYOUR_APP_PACKAGE_NAME%5D
Ejemplo de Volley:
String packageName = "com.google.android.apps.plus"; String url = "http://carreto.pt/tools/android-store-version/?package="; JsonObjectRequest jsObjRequest = new JsonObjectRequest (Request.Method.GET, url+packageName, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { /* here you have access to: package_name, - the app package name status - success (true) of the request or not (false) author - the app author app_name - the app name on the store locale - the locale defined by default for the app publish_date - the date when the update was published version - the version on the store last_version_description - the update text description */ try{ if(response != null && response.has("status") && response.getBoolean("status") && response.has("version")){ Toast.makeText(getApplicationContext(), response.getString("version").toString(), Toast.LENGTH_LONG).show(); } else{ //TODO handling error } } catch (Exception e){ //TODO handling error } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //TODO handling error } });
Voy a recomendar a utilizar ex. Push notificación para notificar a su aplicación que hay una nueva actualización, o utilizar su propio servidor para permitir que su aplicación leer la versión de allí.
Sí, su trabajo adicional cada vez que actualices tu aplicación, pero en este caso no dependes de algunas cosas "no oficiales" o de terceros que puedan quedar sin servicio.
Sólo en caso de que se perdió algo – discusión previa de su consulta de temas de la tienda google play para la versión de una aplicación?
Utilizar la API del servidor que almacenará la información de la versión
Como has dicho. Esta es una manera fácil de detectar una actualización. Pase su información de versión con cada llamada de API. Cuando se actualiza la tienda de juegos, cambie la versión en el servidor. Una vez que la versión del servidor es superior a la versión de la aplicación instalada, puede devolver un código de estado / mensaje en la respuesta de la API que se puede gestionar y se puede mostrar el mensaje de actualización. También puede bloquear usuarios de usar aplicación muy antigua como WhatsApp hacer si u utilizar este método.
O puede utilizar la notificación push, que es fácil de hacer … También
Firebase Remote Config puede ayudar mejor aquí,
Refiera esta respuesta https://stackoverflow.com/a/45750132/2049384
- Android cómo trabajar con asynctasks progressdialog
- Android Spinner Reveal Animation Diseño de materiales