以前、JavaScriptでストアに公開されたアプリのバージョンを取得する方法について投稿しましたが、今回はアプリ自体のバージョンを確認する方法です。
これらを組み合わせれば、端末にインストールされているアプリのバージョンが、最新なのかどうかをチェックすることができます。
使うプラグインはこちら。
GitHub – whiteoctober/cordova-plugin-app-version: Cordova plugin to return the version number of the current app
https://github.com/whiteoctober/cordova-plugin-app-version
Cordova AppVersion plugin というプラグインです。
で、以前のストアに公開済みのアプリのバージョンを取得する方法がこちら。
【JavaScript】App Storeに公開済みのアプリのバージョンを取得する方法
https://cpoint-lab.co.jp/article/201804/【javascript】app-storeに公開済みのアプリのバージョンを取得/
さて、プラグインの使い方ですが、まず下記のコマンドを、コマンドプロンプトやiTermなどのターミナルアプリで実行し、プラグインをインストールします。
cordova plugin add cordova-plugin-app-version
インストール後は、下記のコードを、アプリのバージョンを取得したいタイミングで実行します。
cordova.getAppVersion.getVersionNumber(function (version) {
// アプリのバージョンチェック処理を記述
}, function(error){
// エラー時の処理
});
なお、私は下記のようにプログラムしました。
$.ajax({
url: 'https://itunes.apple.com/lookup?id=[iOSのアプリID]',
method: 'GET',
dataType: 'jsonp',
success: function(data, textStatus, xhr) {
var storeVer = data.results[0].version;
cordova.getAppVersion.getVersionNumber(function(appVer) {
if(appVer != storeVer){
// アプリのバージョンが最新でなかった時の処理
} else {
// アプリが最新バージョンだった時の処理
}
}, function(error){
// アプリのバージョンが取得できなかった時の処理
});
}, error: function(xhr, textStatus, error){
// ストアのアプリバージョンが取得できなかった時の処理
}
});
で、バージョンが一致しない=アプリが最新ではないと判断し、アップデートを促すようにしています。
以上、アプリのバージョンを確認する方法でした。
Google Playのアプリのバージョンが取得できないのがネックですが、そこは Android と iOSのバージョンを合わせて、かつほぼ同じタイミングでアプリを更新するようにしたので、何とかなりました。
ということで、Cordovaアプリを開発中の方は、是非参考にしていただければ幸いです。