¿Cómo get información de la versión del mercado de aplicaciones de google play store?

¿Cómo puedo get la información de la versión de la aplicación en google play store para solicitar al usuario la actualización forzosa / recomendada de la aplicación cuando se actualiza la aplicación Play Store, es decir, en caso de que el usuario esté usando una aplicación de versión anterior? Ya he pasado por andorid-market-api, que no es una forma oficial y también requiere la authentication de inicio de session de oauth de google. También he pasado por la consulta de Android que proporciona la verificación de la versión en la aplicación, pero no está funcionando en mi caso. Encontré siguiendo dos alternativas:

  • Utilice la API del server que almacenará la información de la versión
  • Use las tags de Google y acceda a ellas en la aplicación, que no es la mejor forma de hacerlo.

¿Hay otras forms de hacerlo fácilmente?

Recomendé no usar una biblioteca solo crear una nueva class

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; } 
  1. En tu actividad:

      VersionChecker versionChecker = new VersionChecker(); String latestVersion = versionChecker.execute().get(); 

ESO ES TODO

Aquí está la versión de jQuery para get 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()); }); 

Recomendaré usar ex. enviar notifications para notificar a su aplicación que hay una nueva actualización, O use su propio server para habilitar la versión de lectura de su aplicación desde allí.

Sí, es un trabajo adicional cada vez que actualiza su aplicación, pero en este caso no depende de algunas cosas "extraoficiales" o de terceros que pueden quedar sin service.

En caso de que te hayas perdido algo, la discusión previa de tu tema consulta la tienda de Google Play para ver la versión de una aplicación.

Utilice la API del server que almacenará la información de la versión

Como dijiste. Esta es una manera fácil de detectar una actualización. Pase la información de su versión con cada llamada API. Cuando playstore se actualiza, cambie la versión en el server. Una vez que la versión del server es superior a la versión de la aplicación instalada, puede devolver un código / post de estado en la respuesta de la API que se puede gestionar y se puede mostrar el post de actualización. También puedes bloquear a los usuarios de usar aplicaciones muy antiguas como WhatsApp si usas este método.

O puede usar la notificación push, que es fácil de hacer … También

Puede llamar al siguiente service web: http://carreto.pt/tools/android-store-version/?package=%5BYOUR_APP_PACKAGE_NAME%5D

Ejemplo de uso 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 } }); 

La configuration remota de Firebase puede ayudar mejor aquí,

Por favor, consulte esta respuesta http://sofes.miximages.com/a/45750132/2049384

la forma más fácil es usar el package firebase de google y usar las notifications remotas o las configuraciones en time real con la nueva versión y enviar la identificación a los usuarios que aparecen debajo del número de versión más reciente. ver más https://firebase.google.com/