mcm-app-version-ionic
Version:
Check that the application version number is enabled.
71 lines (68 loc) • 2.71 kB
JavaScript
/**
* @description
* Set header to valiate application version.
* @param {*} params
* @param {string} platform Platform of the application [ios, android, web]
* @param {HttpRequest} request The request object
* @param {object} env The enviroment variable object
* @param {string} authenticatio The authentication token
* @returns {HttpRequest} Request with headers set.
*/
export const initVersionValidator = ( params = { platform, request, env, authentication } ) => {
const { request, platform,env, authentication} = params;
if(authentication){
return request.clone({
headers: request.headers.set('Authorization', 'Bearer ' + authentication)
.set('app-name', env.app_name)
.set('app-version', env.app_version)
.set('app-platform', platform)
});
}else {
return request.clone({
headers: request.headers.set('app-name', env.app_name)
.set('app-version', env.app_version)
.set('app-platform', platform)
});
}
}
/**
* @description
* Show an alert with redirection to Play Store
* @param {AlertController} alertCtrl Ionic Alert Controller
* @param {string} applicationID Bundle ID of the application
* @param {AppPlugin} App Main function import of @capacitor/app
* @param {string} platform Platform of the application [ios, android, web]
* @returns {AlertController} Show Ionic Alert with redirection to Play Store.
*/
export const showRedirectAlert = async (params = {alertCtrl, applicationID, App, platform}) =>{
const {alertCtrl, applicationID, App, platform} = params;
const alert = await alertCtrl.create({
backdropDismiss: false,
header: 'Actualizar versión',
message: 'La versión que tiene instalada en su dispositivo ya está expirada, por favor descargue la nueva versión.',
buttons: [
{
text: 'Cancelar',
role: 'cancel',
cssClass: 'secondary',
id: 'cancel-button',
handler: (blah) => {
App.exitApp();
}
},
{
text: 'Descargar',
role: 'Ok',
cssClass: 'secondary',
id: 'ok-button',
handler: (blah) => {
const config = "location=yes";
if(platform == 'android') window.open( `https://play.google.com/store/apps/details?id=${applicationID}` , "_blank", config);
App.exitApp();
}
},
]
});
await alert.present();
return alert;
}