Cómo obtener la versión de la aplicación, nombre, nombre de paquete, número y código de version en Cordova

Aunque normalmente el usuario promedio no se interesará en la versión de tu aplicación, el raro nombre de paquete e.g miapp.ourcodeworld.com u otro tipo de información que puedes encontrar en la configuración del APK, esta información puede ser util sin embargo para usuarios geeks como tu.

Si necesitas mostrar este tipo de información en tu aplicación híbrida, hoy es tu dia de suerte pues alguien ya ha escrito un plugin que implementa el código nativo por ti.

1. Instalar cordova-plugin-app-version

El plugin "cordova app version" lee la información de la aplicación desde la configuración de compilación de destino. Puedes instalar este plugin cambiando al directorio de tu aplicación desde una terminal y ejecutando el siguiente comando de cordova:

cordova plugin add cordova-plugin-app-version

Luego de la instalación podrás acceder al objeto de getAppVersion desde el objeto cordova global en la variable window. Este expone los métodos del plugin. El plugin fue escrito por los desarrolladores de @Whiteoctober y funciona tanto para iOS tanto como para Android. Para más información sobre este plugin, por favor visita el repositorio oficial en Github aquí.

2. Usando el plugin

Este plugin te permite obtener información de 2 maneras de acuerdo a la manera que prefieras. Como en cordova la mayoria del código en JavaScript funciona asíncronamente por obvias razones, el plugin implementa no solo callbacks sino promesas tambien, así que en caso de que no sepas que son las promesas en javascript, por favor lee primero este articulo.

Con callbacks

El proceso tipico usa callbacks como cualquier otro plugin:

1. Obtiene el nombre de la aplicación

cordova.getAppVersion.getAppName(function(name){
    // El Nombre de la aplicación
    console.log("Nombre de app", name);
});

2. Obtener nombre de paquete de la aplicación

cordova.getAppVersion.getPackageName(function(pkgname){
    // com.ourcodeworld.appname
    console.log("Package Name", pkgname);
});

3. Obtener código de versión

cordova.getAppVersion.getVersionCode(function(version){
    // 10000
    console.log("version code", version);
});

4. Obtener numero de versión

cordova.getAppVersion.getVersionNumber(function(versionNumber){
    // 1.0.0
    console.log("version number", versionNumber);
});

Usando interfaz de promesas de JavaScript

El plugin implementa tambien promesas si están disponibles, así que si quieres proveer soporte para exploradores viejos en dispositivos antiguos, no olvides incluir un polyfill:

1. Obtiene el nombre de la aplicación

cordova.getAppVersion.getAppName().then(function(name){
    // My App Name
    console.log("App Name", name);
});

2. Obtener nombre de paquete de la aplicación

cordova.getAppVersion.getPackageName().then(function(pkgname){
    // com.companyname.appname
    console.log("Package Name", pkgname);
});

3. Obtener código de versión

cordova.getAppVersion.getVersionCode().then(function(version){
    // 10000
    console.log("version code", version);
});

4. Obtener numero de versión

cordova.getAppVersion.getVersionNumber().then(function(versionNumber){
    // 1.0.0
    console.log("version number", versionNumber);
});

Que te diviertas  !

Esto podría ser de tu interes

Conviertete en un programador más sociable