以前、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などのターミナルアプリで実行し、プラグインをインストールします。
1 | cordova plugin add cordova-plugin-app-version |
インストール後は、下記のコードを、アプリのバージョンを取得したいタイミングで実行します。
1 2 3 4 5 | cordova.getAppVersion.getVersionNumber( function (version) { // アプリのバージョンチェック処理を記述 }, function (error){ // エラー時の処理 }); |
なお、私は下記のようにプログラムしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $.ajax({ 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アプリを開発中の方は、是非参考にしていただければ幸いです。