Monaca Docs
  • Monaca とは
  • 最初のアプリを作る
  • アプリをテストする
  • Monaca リリース情報
    • iOS プライバシーマニフェスト対応
    • 「ニフクラ mobile backend」終了に関するお知らせ
    • プラグイン uses-permission タグの重複修正機能
    • Cordova 12 の変更点
    • iOSストア版Monaca デバッガー配信停止と代替機能のご案内
    • iOS App Store への送信エラー (ITMS-90165)
    • cordova-custom-configのビルドエラー
    • Cordova 11 の変更点
    • Cordova 10 の変更点
    • Cordova 9.0 の変更点
    • 利用規約の変更
    • 新しい Monaca CLI と Localkit
    • CordovaからCapacitorへの移行
  • Monacaガイド
    • Monaca での開発の概要
    • Monaca クラウド IDE
      • 概要
      • Monaca クラウド IDE の機能
      • ターミナル機能
      • エディターのショートカット一覧
      • プロジェクトの構成
        • ファイル・フォルダー構成
        • JS/CSS コンポーネント
        • Cordova プラグイン
        • ユーザー Cordova プラグイン
      • バージョン管理
        • 概要
        • GitHub との連携
        • Git SSH との連携
      • Monaca CI
        • 概要
        • アプリ配信 / 配布サービス (デプロイサービス)
        • Appetize.ioへの配信
        • DeployGateへの配信
        • Firebase への配信
      • ビルド
        • iOS アプリのビルド
          • iOS アプリのビルド
          • Monaca と Xcode 間でのビルド設定の再利用
        • Android アプリのビルド
        • Windows アプリのビルド
        • Electron アプリのビルド
          • Windows アプリのビルド
        • PWA アプリのビルド
        • ビルド環境の設定
        • ビルド履歴一覧
        • 一般的なビルドとアップロードエラー
      • 配布方法
        • App Store での配布
          • App Store Connect ガイド
          • iOS アプリ アップロード機能
        • Google Play での配布
        • 公式ストア経由以外での配布
      • パッケージダウンロード機能
      • チュートリアル
    • Monaca Localkit
      • 概要
      • ペアリングとデバッグ
      • リモートビルドと配布申請
      • トラブルシューティング
        • インストール ( Windows の場合 )
        • インストール ( Mac OS X の場合 )
        • アンインストール時 ( Windows の場合 )
        • 不完全なファイル・フォルダー構成
        • プレビューウィンドウが更新されない
        • Error while installing
        • nodeのインストールが必要です
      • チュートリアル
    • Monaca CLI
      • 概要
      • Monaca CLI コマンド
      • ペアリングとデバッグ
      • リモートビルドと配布申請
      • トラブルシューティング ガイド
      • チュートリアル
    • Monaca デバッガー
      • 機能の概要
      • インストール方法
        • Android 向けの Monaca デバッガー
        • iOS 向け Monaca デバッガー
        • Android エミュレーター向け Monaca デバッガー
      • 使用例
      • iOS カスタムビルド版デバッガー
      • iOS シミュレータービルド
      • トラブルシューティング ガイド
      • チュートリアル
    • チームダッシュボード
    • クイックビューア
    • 他のプラットフォームからの移行
      • 移行時の確認ポイント
      • クラウドIDE プレビュー機能の設定
      • Angular からの移行
      • Ionic からの移行
      • React からの移行
      • Vue からの移行
      • Telerik からの移行
  • 🛠️アプリビルド
    • iOS ビルド
      • 秘密鍵とCSRの作成
      • 証明書の作成
      • プロビジョニング・プロファイルの更新
  • チュートリアル
    • Monaca クラウド IDE チュートリアル
      • パート 1 : プロジェクトの作成
      • パート 2 : Monaca クラウド IDE と Monaca デバッガーとの連携
      • パート 3 : Monaca アプリのビルド
      • パート 4 : Monaca アプリの配布申請
    • Monaca Localkit チュートリアル
      • パート 1 : プロジェクトの作成
      • パート 2 : Monaca Localkit と Monaca デバッガーとの連携
      • パート 3 : Monaca アプリのビルド
      • パート 4 : Monaca アプリの配布申請
    • Monaca CLI チュートリアル
      • パート 1 : プロジェクトの作成
      • パート 2 : Monaca CLI と Monaca デバッガーとの連携
      • パート 3 : Monaca アプリのビルド
      • パート 4 : Monaca アプリの配布申請
    • Electron アプリ開発
      • NPMパッケージの利用方法
      • Web APIの利用方法
    • バーコードスキャナープラグイン
    • Cordova Sqlite Storage プラグイン
    • Cordova Google Analytics プラグイン
    • Cordova Firebase プラグイン
    • Cordova In-app Purchase プラグイン
    • Cordova AppVersion プラグイン
    • Cordova Ionic Keyboard プラグイン
    • Cordova Social Sharing プラグイン
    • Phonegap Push プラグイン
  • APIの解説
    • Monaca API
      • Monaca クラウド & リモートビルド API
      • ユーティリティ
    • 基本プラグイン
      • Cordova 12.0
        • Battery プラグイン
        • Camera プラグイン
        • Device プラグイン
        • Device Motion プラグイン
        • Device Orientation プラグイン
        • Dialog プラグイン
        • File プラグイン
        • Geolocation プラグイン
        • InAppBrowser プラグイン
        • Media プラグイン
        • Media Capture プラグイン
        • Network Information プラグイン
        • Vibration プラグイン
        • StatusBar プラグイン
      • Cordova 11.0
        • Battery プラグイン
        • Camera プラグイン
        • Device プラグイン
        • Device Motion プラグイン
        • Device Orientation プラグイン
        • Dialog プラグイン
        • File プラグイン
        • Geolocation プラグイン
        • InAppBrowser プラグイン
        • Media プラグイン
        • Media Capture プラグイン
        • Network Information プラグイン
        • Splashscreen プラグイン
        • Vibration プラグイン
        • StatusBar プラグイン
      • Cordova 10.0
        • Battery プラグイン
        • Camera プラグイン
        • Device プラグイン
        • Device Motion プラグイン
        • Device Orientation プラグイン
        • Dialog プラグイン
        • File プラグイン
        • Geolocation プラグイン
        • InAppBrowser プラグイン
        • Media プラグイン
        • Media Capture プラグイン
        • Network Information プラグイン
        • Splashscreen プラグイン
        • Vibration プラグイン
        • StatusBar プラグイン
        • Whitelist プラグイン ( Android 専用 )
      • Cordova 9.0
        • バッテリー情報の取得 プラグイン
        • カメラ操作 プラグイン
        • 住所録の取得 プラグイン
        • 端末情報の取得 プラグイン
        • 端末のモーション検知 プラグイン
        • 端末のオリエンテーション検知 プラグイン
        • ダイアログの制御 プラグイン
        • ファイル操作 プラグイン
        • ファイル転送 プラグイン
        • 位置情報の取得 プラグイン
        • 表記の国際化対応 プラグイン
        • InAppBrowser プラグイン
        • メディア操作 プラグイン
        • メディアキャプチャー プラグイン
        • ネットワーク情報の取得 プラグイン
        • スプラッシュスクリーンの制御 プラグイン
        • バイブレーションの制御 プラグイン
        • ステータスバーの制御 プラグイン
        • ホワイトリストへの登録 プラグイン ( Android 専用 )
    • サードパーティー製プラグイン
      • AdvancedHTTPプラグイン
      • PhoneGap BarcodeScanner
      • Custom Config
      • Datepicker
      • Share ( Android 向け )
      • WebIntent ( Android 向け )
    • Monaca 提供プラグイン
      • アプリロジック暗号化 (Encrypt プラグイン)
      • In-App アップデーター (In-App Updater)
      • セキュア ストレージ
      • NFC リーダー
      • バーコードスキャナー
      • Androidビルドメモリサイズ設定
    • 外部サービス連携
      • Repro
      • AppsFlyer
    • 設定ファイル
      • Android
        • Android の設定
        • config.xml
        • AndroidManifest.xml
      • iOS
        • iOS の設定
        • config.xml
        • MonacaApp-info.plist
  • サンプル & Tips
    • Firestoreを利用する
    • サンプルアプリ
      • Twitter アプリ
      • Facebook アプリ
      • 広告 アプリ (AdMob)
      • Hello World アプリ
      • メモ帳アプリ
      • ブロック崩しゲーム
      • Flickrアプリ
      • TODO管理 アプリ
      • 電車図鑑アプリ
      • 時計アプリ
      • 誕生年の計算アプリ
      • おみくじ占いアプリ
      • RSS リーダーアプリ
    • 開発 Tips
      • 音楽の再生方法
      • スプラッシュ画像の制御方法
      • データベースの利用方法
  • Webpack5への更新
  • 機能
    • SNS 認証
    • プッシュ通知
    • データベース
  • 外部サービス連携ガイド
    • Firebase
      • アプリの登録と設定ファイルの取得
  • 移行ガイド
    • ニフクラ mobile backend
      • プッシュ通知
        • Firebaseサービスの設定
        • ソースコードの移行
      • データストア
        • ソースコードの移行
        • データの移行
        • データ移行スクリプト実行手順
      • 会員管理・認証
        • 会員管理 データの移行
        • Firebase Authentication パスワード再設定サンプル
        • Firebase Authenticationを使用したユーザー名認証の方法
      • スクリプト
        • Firebase Functions開発環境の作成
        • サンプル共通項目
        • サンプル1(GETサンプル)
        • サンプル2(POSTサンプル)
        • サンプル3(DELETEサンプル)
        • エミュレータでのテスト
      • ファイルストア
        • ファイルアップロード
        • ファイル検索
        • ファイル一覧表示
        • ファイル削除
  • FAQ
    • 概要
    • IDE
    • ビルド
    • リリース
    • 契約プラン
    • アプリケーション
    • 使用方法
    • Freeプラン
    • デバッガー
  • 対応環境
  • トラブルシューティング
    • プレビューログがリロードを繰り返す (Vue packages version mismatch error)
  • Monaca製品サイト
  • 運営会社
  • English
GitBook提供
このページ内
  • サポート対象のプラットフォーム
  • プラグインの追加方法
  • 更新用 HTML5 アセットの作成方法
  • 使い方
  • プラグインの設定
  • CheckUpdate URL
  • Download URL
  • API リファレンス
  • getServerVersion()
  • forceStopGetServerVersion()
  • getLocalVersion()
  • download()
  • forceStopDownload()
  • updateAndRestart()
  • status()
  • showAlertDialog()
  • dismissAlertDialog()
  • showProgressDialog()
  • changeProgressDialog()
  • dismissProgressDialog()
  • networkStatus()
  • terminateApp()
  • autoUpdate()
  • Android 9 以降での注意点
  • CustomSchemeの設定 (iOSのみ)
  • バージョン履歴
  • プライバシーマニフェスト

役に立ちましたか?

  1. APIの解説
  2. Monaca 提供プラグイン

In-App アップデーター (In-App Updater)

前へアプリロジック暗号化 (Encrypt プラグイン)次へセキュア ストレージ

最終更新 1 年前

役に立ちましたか?

In-App アップデーター プラグインは、アプリの再ビルド・再パッケージ化を行わずに、アプリで使用している HTML5 アセットを更新するためのプラグインです。

In-App アップデーター プラグインを使用する場合は、別途、更新ファイルをホストする Web サーバーが必要になります (アプリから、これらのファイルへアクセスできること )。

このプラグインを使用するためには、対応するプランへの加入が必要となります。詳細は、 をご確認ください。

このプラグインは、カスタムビルドデバッガーでは利用できません。 動作検証を行う場合は、デバッグビルドを行い、実機で確認する必要があります。

サポート対象のプラットフォーム

  • Cordova 9 以降

  • iOS 11 以降

  • Android 5.1 以降 (6.0以降を推奨)

プラグインの追加方法

  1. Monaca クラウド IDE から設定 → Cordova プラグインの管理を選択します。

  2. 利用可能なプラグイン 項目の InAppUpdater プラグインにカーソルを置き、有効ボタンをクリックします。

3. 次に、有効なプラグイン 項目へ行き、先ほど追加したプラグイン上に、カーソルを置き、設定ボタンをクリックします。

更新用 HTML5 アセットの作成方法

Monaca クラウド IDE から、

  • ビルド → Androidアプリのビルド → リリース向けビルド → In-App Updater用更新ファイル

  • ビルド → iOSアプリのビルド → リリース向けビルド → In-App Updater用更新ファイル

を選択し、ビルドを開始するボタンをクリックします。

使い方

In-App アップデーター プラグインは、対象アプリのバージョンに対して、HTML5 アセットを更新します。 HTML5 アセットを更新する場合は、Web サーバー側の更新ファイルに新しい更新番号の設定を行います。

プラグインの設定

CheckUpdate URL

更新ファイル情報を提供する Web API の URL を指定します。更新ファイル情報は、以下のように JSON 形式で作成します。

{
  "ios": {
    "2.1.0": { // アプリのバージョン
      "1": { // 更新番号
        "date": 20170113,
        "url": "https://hogehoge.com/app/1/ios-v2.1.0.zip" // オプション
      },
      "2": { // 更新番号
        "date": 20170113,
        "url": "https://hogehoge.com/app/2/ios-v2.1.0.zip" // オプション
      }
    },
    "2.2.0": { // アプリのバージョン
      "1": { // 更新番号
        "date": 20170210,
        "url": "https://hogehoge.com/app/1/ios-v2.2.0.zip" // オプション
      }
    }
  },
    "android": {
    "2.1.0": { // アプリのバージョン
      "1": { // 更新番号
        "date": 20170113,
        "url": "https://hogehoge.com/app/1/android-v2.1.0.zip" // オプション
      },
      "2": { // 更新番号
        "date": 20170113,
        "url": "https://hogehoge.com/app/2/android-v2.1.0.zip" // オプション
      }
    },
    "2.2.0": { // アプリのバージョン
      "1": { // 更新番号
        "date": 20170210,
        "url": "https://hogehoge.com/app/1/android-v2.2.0.zip" // オプション
      }
    }
  }
}

Download URL

更新用 HTML5 アセットファイル ( ZIP 形式 ) の URL を指定します。

API リファレンス

このプラグインが提供しているメソッドは次のとおりです。

メソッド

解説

更新ファイルの情報をサーバー側から取得します。

現在のアプリの更新番号を確認します。

更新用ファイルをダウンロードします。

ダウンロードした更新用ファイルを展開し、アプリを再起動します。

プラグインの状態を確認します。

ダイアログ ( タイトルとメッセージ ) を表示します。

警告ダイアログを閉じます。

進捗表示用ダイアログを表示します。

進捗表示用ダイアログを更新します。

進捗表示用ダイアログを閉じます。

ネットワークの状態 ( Wifi、3G/LTE、接続なし など ) を確認します。

アプリを強制終了します。

更新ファイルのダウンロードとアプリの更新を自動的に行います。

getServerVersion()

更新ファイルの情報をサーバー側から取得します。

monaca.InAppUpdater.getServerVersion([args: JSON object]): Promise

パラメーター ( JSON オブジェクト)

プロパティ

型

解説

connectDelay

数値

サーバー接続を開始するまでの待機時間 ( ミリ秒単位 )

connectTimeout

数値

( Android 専用 ) サーバー接続時に適用するタイムアウト時間 ( ミリ秒単位 )

readTimeout

数値

( Android 専用 ) サーバーからのレスポンス受信時に適用するタイムアウト時間 ( すべてのレスポンスを受け取るまでの時間、ミリ秒単位 )

timeoutForRequest

数値

( iOS 専用 ) サーバーへのリクエスト送信時に適用するタイムアウト時間。タイムアウトが発生した場合でも、リクエストは自動的に再送信されます。エラーは出力されません。

timeoutForResponse

数値

( iOS 専用 ) サーバーからのレスポンス受信時に適用するタイムアウト時間 ( すべてのレスポンスを受け取るまでの時間、ミリ秒単位 )

戻り値 (Promise)

  • 成功時のコールバックには、次のような内容の JSON オブジェクトが渡されます。

    プロパティ

    型

    解説

    needsUpdate

    真偽値

    現在のアプリのバージョンを更新する必要があるかを示します。

    updatable

    真偽値

    現在のアプリのバージョンに適用できる更新ファイルがあるかを示します。

    latestVersion

    文字列

    アプリの最新バージョン

    myVersion

    文字列

    現在のアプリのバージョン

    latestUpdateNumber

    文字列

    現在のアプリのバージョンに適用できる最新の更新番号

    myUpdateNumber

    文字列

    現在のアプリのバージョンが使用している更新番号

    updateInfo

    JSON オブジェクト

    サーバー側の設定が、次のようになっている場合、

    {

    "ios": {

    "2.1.0": { // アプリのバージョン

    "1": { // 更新番号

    "date": 20170113,

    "url": "https://hogehoge.com/app/ios-v2.1.0.zip" // オプション

    }

    }

    }

    }

    updateInfo は、以下の内容となります。

    updateInfo = {

    "date": 20170113,

    "url": "https://hogehoge.com/app/ios-v2.1.0.zip"

    }

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.getServerVersion().then(
    function(json) {
        alert( JSON.stringify(json) );
        targetVersion = json.myVersion;
        targetUpdateNumber = json.latestUpdateNumber;
        url = json.updateInfo.url;
        alert( targetVersion );
        alert( targetUpdateNumber );
        alert( url );
    } ,
    function(fail) { alert( JSON.stringify(fail) ); }
);

forceStopGetServerVersion()

getServerVersion() の処理を中断します。

monaca.InAppUpdater.forceStopGetServerVersion(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.forceStopGetServerVersion().then(
    function(str) { alert("stop success"); } ,
    function(fail) { alert( JSON.stringify(fail) ); }
);

getLocalVersion()

現在のアプリの更新番号を確認します。

monaca.InAppUpdater.getLocalVersion(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.getLocalVersion().then(
    function(json) { alert( JSON.stringify(json) ); } ,
    function(fail) { alert( JSON.stringify(fail) ); }
);

download()

更新用ファイルをダウンロードします。

monaca.InAppUpdater.download(args: JSON object): Promise

パラメーター ( JSON オブジェクト)

プロパティ

型

解説

version

数値

対象のアプリのバージョン

updateNumber

数値

更新番号

bufferSize

数値

( Android 専用 ) バッファーサイズ ( バイト単位 )。デフォルト値は 8192 です。

url

文字列

connectDelay

数値

サーバー接続を開始するまでの待機時間 ( ミリ秒単位 )

connectTimeout

数値

( Android 専用 ) サーバー接続時に適用するタイムアウト時間 ( ミリ秒単位 )

readTimeout

数値

( Android 専用 ) サーバーからのレスポンス受信時に適用するタイムアウト時間 ( すべてのレスポンスを受け取るまでの時間、ミリ秒単位 )

timeoutForRequest

数値

( iOS 専用 ) サーバーへのリクエスト送信時に適用するタイムアウト時間。タイムアウトが発生した場合でも、リクエストは自動的に再送信されます。エラーは出力されません。

timeoutForResponse

数値

( iOS 専用 ) サーバーからのレスポンス受信時に適用するタイムアウト時間 ( すべてのレスポンスを受け取るまでの時間、ミリ秒単位 )

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

  • 進捗表示コールバックには、ダウンロードの進捗状況を示す、次のような JSON オブジェクトが渡されます。

    名前

    型

    解説

    count

    数値

    これまでにダウンロードされたファイルのサイズ

    total

    数値

    ダウンロードされるファイルの予想サイズ

例

monaca.InAppUpdater.download( { version : targetVersion, updateNumber : targetBuildNumber, url : url } ).then(
    function(json) { alert( JSON.stringify(json) ); } ,
    function(fail) { alert( JSON.stringify(fail) ); } ,
    function(json) { console.log( json.count + "/" + json.total + " are done." ); }
);

forceStopDownload()

download() の処理を中断します。

monaca.InAppUpdater.forceStopDownload(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.forceStopDownload().then(
    function(str) { alert("stop success"); } ,
    function(fail) { alert( JSON.stringify(fail) ); }
);

updateAndRestart()

ダウンロードした更新用ファイルを展開し、アプリを再起動します。

monaca.InAppUpdater.updateAndRestart(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

  • 進捗表示コールバックには、展開処理の進捗状況を示す、次のような JSON オブジェクトが渡されます。

    名前

    型

    解説

    count

    数値

    Zip ファイルを展開して得られた、現在までのファイル数

    total

    数値

    展開予定の更新ファイル数

例

monaca.InAppUpdater.updateAndRestart().then(
    function() { },
    function(fail) { alert( JSON.stringify(fail) ); },
    function(json) { console.log( json.count + "/" + json.total + " are done." ); }
);

status()

プラグインの状態を確認します。

monaca.InAppUpdater.status(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、次のような内容の JSON オブジェクトが渡されます。

    名前

    型

    解説

    running

    真偽値

    プラグインが処理中の場合、true を返します。

    status

    文字列

    処理に関する情報が格納されています。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.status().then(
    function(json) { alert( JSON.stringify(json) ); },
    function(fail) { alert( JSON.stringify(fail) ); }
);

showAlertDialog()

ダイアログ ( タイトルとメッセージ ) を表示します。

monaca.InAppUpdater.showAlertDialog(args: JSON object): Promise

パラメーター ( JSON オブジェクト)

プロパティ 

型

解説

title

文字列

ダイアログのタイトル

message

文字列

メッセージ本文

button

JSON オブジェクト

ボタンは、次の 2 つの要素で構成されます。

  • label: [ 文字列 ] ボタンのラベル

  • handler: ボタンがクリックされたときに呼ばれる関数

例 :

{

label : "OK",

handler : function() { alert("OK is clicked"); }

}

cancel

JSON  オブジェクト

キャンセルボタンは、次の 2 つの要素で構成されます。

  • label: [ 文字列 ] キャンセルボタンのラベル

  • handler: キャンセルボタンがクリックされたときに呼ばれる関数

例 :

{

label : "Close",

handler : function() { alert("Close is clicked"); }

}

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.showAlertDialog({
    title : "Title" ,
    message : "Message" ,
    button : { label : "OK" , handler : function() { console.log("OK is clicked"); } },
    cancel : { label : "Cancel" , handler : function() { console.log("Cancel is clicked"); } },
    dismiss : function() { conole.log("Dismissed!"); }
} ).then(
    function(btnLabel) { console.log("open"); },
    function(fail) { console.log(JSON.stringify(fail)); }
);

dismissAlertDialog()

警告 ( Alert ) ダイアログを閉じます。

monaca.InAppUpdater.dismissAlertDialog(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

setTimeout( function() {
    monaca.InAppUpdater.dismissAlertDialog().then(
        function(json) { console.log("OK auto close"); },
        function(fail) { console.log(JSON.stringify(fail)); }
    );
} , 1000 );

showProgressDialog()

進捗表示 ( Progress ) 用ダイアログを表示します。こちらのダイアログでは、更新の進捗状況が表示されます。

monaca.InAppUpdater.showProgressDialog(args: JSON object): Promise

パラメーター ( JSON オブジェクト)

プロパティ 

型

解説

title

文字列

ダイアログのタイトル

message

文字列

メッセージ本文

max

数値

カウンターの最大値です。ファイルをダウンロードする場合には、ファイル総数となります。

progress

数値

進捗を示す値です。ファイルをダウンロードする場合には、ダウンロード済みのファイル総数となります。

cancel

JSON オブジェクト

キャンセルボタンは、次の 2 つの要素で構成されます。

  • label: [ 文字列 ] キャンセルボタンのラベル

  • handler: キャンセルボタンがクリックされたときに呼ばれる関数

例 :

{

label : "Close",

handler : function() { alert("Close is clicked"); }

}

dismiss

コールバック関数

ダイアログを閉じたときに呼ばれる関数です。

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.showProgressDialog(
    { title : "Title" ,
    message : "Message" ,
    max : 100 ,
    progress : 50 ,
    cancel : { label : "Cancel" , handler : function() { console.log("cancel handler"); } } ,
    dismiss : function() { console.log("dismissed."); }
    } ).then(
    function(json) {
      console.log(JSON.stringify(json));
    },
    function(fail) {
      console.log(JSON.stringify(fail));
    }
);

changeProgressDialog()

進捗表示 ( Progress ) 用ダイアログを更新します。

monaca.InAppUpdater.changeProgressDialog(args: JSON object): Promise

パラメーター ( JSON オブジェクト)

プロパティ

型

解説

progress

数値

進捗を示す値

戻り値 (Promise)

  • 成功時にも引数は渡しません。

  • 失敗時のコールバックはありません。

例

monaca.InAppUpdater.changeProgressDialog( { progress: progress } ).then(
    function() {
    if (progress < 100) {
        setTimeout( function() { changeProgressDialog(progress+10); } , 500 );
    } else {
        monaca.InAppUpdater.dismissProgressDialog().then(
        function(json) { console.log("complete"); } ,
        function(error) { console.log(JSON.stringify(error)); }
        );
    }
    }
)

dismissProgressDialog()

進捗表示 ( Progress ) 用ダイアログを閉じます。

monaca.InAppUpdater.dismissProgressDialog(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、結果を格納した JSON オブジェクトが渡されます。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

setTimeout( function() {
    monaca.InAppUpdater.dismissProgressDialog().then(
    function(json) { console.log(JSON.stringify(json)); } ,
    function(error) { console.log( JSON.stringify(error) ); }
    );
} , 1000 );

networkStatus()

ネットワークの状態 ( Wifi、3G/LTE、接続なし など ) を確認します。

monaca.InAppUpdater.networkStatus(): Promise

パラメーター

  • なし

戻り値 (Promise)

  • 成功時のコールバックには、次のような内容の JSON オブジェクトが渡されます。

    名前

    型

    解説

    network

    真偽値

    通信事業者のネットワークが利用できる場合には、true を返します。

    wifi

    真偽値

    WiFi が利用できる場合には、true を返します。

    mobile

    真偽値

    ネットワーク接続 ( 通信事業者のネットワークまたは WiFi ) を利用できる場合には true を返します。利用できない場合には、 false を返します。

  • 失敗時のコールバックには、エラーを示す JSON オブジェクトが渡されます。

例

monaca.InAppUpdater.networkStatus().then(
    function(json) { alert( JSON.stringify(json) ); },
    function(fail) { alert( JSON.stringify(fail) ); }
);

terminateApp()

アプリを強制終了します。

このメソッドは、旧 InAppUpdater ( Cordova 5 向けの v2.0.4 ) との互換性を維持するために提供されているメソッドです。

こちらはクラッシュに相当するので、iOS での使用は推奨しません。Apple 側から申請をリジェクトされる可能性があります。

monaca.InAppUpdater.terminateApp()

パラメーター

  • なし

戻り値 (Promise)

  • なし

例

monaca.InAppUpdater.terminateApp();

autoUpdate()

更新ファイルのダウンロードとアプリの更新を自動的に行います。

monaca.InAppUpdater.autoUpdate(options: JSON object): Promise

パラメーター ( JSON オブジェクト)

プロパティ

型

解説

connectDelay

数値

サーバー接続を開始するまでの待機時間 ( ミリ秒単位 )

dialogMessages

JSON オブジェクト

アプリの更新時に表示されるダイアログ。次の変数が使用できます。

  • confirm3G: [ 文字列 ] 更新ファイルのダウンロード時に、WiFi の代わりに通信事業者のネットワークを使用している場合に表示されるテキストです。

  • prepare: [ JSON オブジェクト ] 2 つの変数を格納したオブジェクトです。変数は、 title と message です。更新ファイルのダウンロードを開始 ( 準備 ) するときに表示されます。

  • download: [ JSON オブジェクト ] 2 つの変数を格納したオブジェクトです。変数は、 title と message です。更新ファイルをダウンロードしているときに表示されます。

例 :

{

confirm3G : 'These updates will be downloaded with your mobile data.',

prepare : {

title : 'Preparing to Dowload the Updates',

message : 'Now checking the server version ...'},

download : {

title : 'Dowloading the Updates',

message : 'Now downloading ...'}

}

nextTask

コールバック関数

更新成功時に呼ばれる関数

failTask

コールバック関数

更新失敗時に呼ばれる関数

戻り値 (Promise)

  • なし

例

monaca.InAppUpdater.autoUpdate( {
    connectDelay : 0000,
    connectTimeout : 30000,
    readTimeout: 300000,
    nextTask : function(res) {
    if (res.requireRestart) {
        monaca.InAppUpdater.updateAndRestart().then(
        function() { },
        function(fail) { alert( JSON.stringify(fail) ); }
        );
    } else {
        alert("App is started!");
    }
    },
    failTask : function(res) {
    monaca.InAppUpdater.showAlertDialog(
        { title : "Error Code "+res.error.code ,
        message : res.error.message ,
        button : { label : "OK" , handler : function() { } }
        } ).then(
        function(json) {  },
        function(fail) { }
    );
    }
});

Android 9 以降での注意点

Android 9 以降では、http プロトコルでの通信が原則禁止されています。 そのため、アップデートファイルを https プロトコルで取得するように修正する必要があります。

動作テストなどで http プロトコルでの通信が必要となる場合は、以下のように、config.xml の widget タグに andorid 名前空間 設定を追加し、usesCleartextTraffic 設定を追加する必要があります。

<widget xmlns:android="http://schemas.android.com/apk/res/android">

<platform name="android">
  <edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">
    <application android:usesCleartextTraffic="true" />
  </edit-config>
</platform>

CustomSchemeの設定 (iOSのみ)

カスタムスキームは、Cordova 10以降 および 本プラグインのバージョン 6.1.0以降で設定いただけます。

本プラグインは、iOSの場合、単体でschemeとhostnameを設定することが可能です。(アプリロジック暗号化プラグインとは共通です。)

まず、デフォルトのschemeとhostnameの下記設定を削除します。これが指定されている場合、ビルドエラーとなります。

<preference name="scheme" value="monaca-app"/>
<preference name="hostname" value="localhost"/>

次にconfig.xmlに以下のようにschemeとhostnameを設定していきます。この例では、schemeをmonacax-app、hostnameをmonacax.ioとしています。

<preference name="monaca:scheme" value="monacax-app"/>
<preference name="monaca:hostname" value="monacax.io"/> 

schemeは,小文字で始まる文字列で構成されます。 小文字で始まり,その後に、次の任意の組合せが続く小文字の文字列です。

  • 文字

  • 数字

  • プラス ("+")

  • ピリオド (".")

  • ハイフン ("-")

また、monaca:scheme と moanca:hostname を省略 した場合、それぞれ monaca-plugin と monaca.plugin になります。

バージョン履歴

バージョン
変更点

7.1.1

cordova-ios 7.1.0対応

6.2.3

大文字のスキーム、ホスト名を自動で小文字して認識

6.2.2

外部サイトからjsonファイルを取得するときの不具合を修正

6.2.1

プログレスバースタイルの修正

6.2.0

cordova-android10系以降に対応 (cordova-android 9系サポート終了)

6.1.0

CustomSchemeに対応

6.0.0

Cordova10サポート (Cordova9 サポート終了)

プライバシーマニフェスト

このプラグインで必要となるプライバシーマニフェストは以下のようになります。(cordova-ios 7.1.0以上)

<platform name="ios">
  <privacy-manifest>
    <key>NSPrivacyTracking</key>
    <false/>
    <key>NSPrivacyTrackingDomains</key>
    <array/>
    <key>NSPrivacyAccessedAPITypes</key>
    <array>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array>
      <string>CA92.1</string>
      </array>
    </dict>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array>
      <string>0A2A.1</string>
      </array>
    </dict>
    </array>
    <key>NSPrivacyCollectedDataTypes</key>
    <array/>
  </privacy-manifest>
</platform>

L と 欄を適宜入力して、OKボタンをクリックします。

Web サーバー側の更新ファイルについては、 を参照ください。

※ Android 9以降ではhttp通信が禁止されているため、通信プロトコルについてを確認ください。

本プラグインを利用するためには、 と の二つのWeb API(URL)が必要となります。

更新ファイル情報は、 メソッドの Promise によって返される JSON オブジェクトの updateInfo パラメータによって取得できます。

メソッドでダウンロード URL を設定すると、この設定を省略できます。

このプラグインの最もシンプルな使用方法は、 を使用して、更新ファイルのダウンロード ( を参照のこと ) とアプリの更新を自動で行うことです。

、、 などのメソッドを組わせて使用すれば、更新処理をカスタマイズすることもできます。

の処理を中断します。

の処理を中断します。

設定された URL から Zip ファイルをダウンロードします。この値を設定しない場合には、 の値 ( config.xml 内の monaca:updater_DownloadUrl ) が代わりに使用されます。

マニフェストの記述方法について詳しくは を参照して下さい。

https://ja.docs.monaca.io/release_notes/ios-privacy-manifest#puraibashmanifesutono
CheckUpdate UR
Download URL
CheckUpdate URL
こちら
CheckUpdate URL
Download URL
getServerVersion()
download()
autoUpdate()
プラグインの設定
getServerVersion()
download()
updateAndRestart()
getServerVersion()
forceStopGetServerVersion()
getServerVersion()
getLocalVersion()
download()
forceStopDownload()
download()
updateAndRestart()
status()
showAlertDialog()
dismissAlertDialog()
showProgressDialog()
changeProgressDialog()
dismissProgressDialog()
networkStatus()
terminateApp()
autoUpdate()
Download URL
料金プラン