コンテンツにジャンプ

自動更新

GitHub

このドキュメントでは、自動更新サーバーを実行する方法を説明します。

HTTPSでバンドルを配信し、CORSヘッダーを設定してアプリがアップデートをダウンロードできるようにします。

Serve your bundle

バンドルを配信するセクションのタイトルです。 https://myserver.com/app/updates/updates.json

If you’re unfamiliar with serving a bundle, we recommend you try Capgo Cloud or see an example here:

GitHub

Capgo

code updateUrl API capacitor.config.json.

{
"plugins": {
"CapacitorUpdater": {
"updateUrl": "https://myserver.com/app/updates/updates.json",
}
}
}

アプリが開いたときに、プラグインはAPIにPOSTリクエストを送信し、以下のボディを含みます:

interface AppInfos {
"platform": "ios" | "android" | "electron",
"device_id": "UUID_of_device_unique_by_install",
"app_id": "APPID_FROM_CAPACITOR_CONFIG",
"custom_id": "your_custom_id_set_on_runtime",
"plugin_version": "PLUGIN_VERSION",
"version_build": "VERSION_NUMBER_FROM_NATIVE_CODE",
"version_code": "VERSION_CODE_FROM_NATIVE_CODE",
"version_name": "LAST_DOWNLOADER_VERSION" | "builtin"
"version_os": "VERSION_OF_SYSTEM_OS",
"is_emulator": boolean,
"is_prod": boolean,
}

サーバーAPIは、capacitor-updater プラグインに対して、JSON形式で、必要なアップデートの場合に、以下のデータを返す必要があります:

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

自動アップデートモードの場合、サーバーはバージョンを比較し、正しいバージョンを返し、URLキーが存在する場合、プラグインはダウンロードプロセスを開始します。

「message」と「error」キーを追加すると、バージョンは設定されず、ログに表示されるメッセージが表示されます。

version キーは「__CAPGO_KEEP_1__」のフォーマットでなければなりません。 semver zipファイルは、rootディレクトリのファイルとして、またはrootディレクトリの単一のフォルダとして、以下の構造でなければなりません。

rootディレクトリのファイルとして、またはrootディレクトリの単一のフォルダとして、以下の構造でなければなりません。 index.html rootディレクトリのファイルとして、またはrootディレクトリの単一のフォルダとして、以下の構造でなければなりません。 index.html rootディレクトリのファイルとして、またはrootディレクトリの単一のフォルダとして、以下の構造でなければなりません。

コマンドのCLIを使用して、バンドルを圧縮できます:

サーバーからファイルを提供するためにバンドルを作成する
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

重要: Capgo CLIを使用してバンドルzipファイルを作成する必要があります。Capgo プラグインは、公式のCLIツールを使用することでのみ、特定のzip形式と構造が保証されます。標準のzipユーティリティは互換性のないアーカイブを作成する可能性があります。

バンドルチェックサムを生成するには、Capgo CLI zipコマンドを使用し、 --json フラグ:

チェックサム情報を含むバンドルを作成する
npx @capgo/cli bundle zip [appId] --json

このコマンドは:

  • 適切にフォーマットされた zip ファイルを作成します。これは Capgo プラグインと互換性があります。
  • __CAPGO_KEEP_0__ プラグインの整合性検証のために、SHA256 チェックサムを生成します。
  • JSON形式でバンドル情報を出力します。

例:

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

__CAPGO_KEEP_0__ の __CAPGO_KEEP_0__ 応答でバンドル整合性を検証するために、この出力の値を使用してください。 checksum value from this output in your API response to ensure the plugin can verify the bundle integrity before installation.

Auto Update Auto Update Auto Update 使用@capgo/capacitor-updater 使用@capgo/capacitor-updater Capgo Enterprise Capgo Enterprise Ionic Enterprise プラグイン代替 Ionic Enterprise プラグイン代替 Capgo 代替 Capgo 代替 Capgo コンサルティング Capgo コンサルティング