以前、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アプリを開発中の方は、是非参考にしていただければ幸いです。