コンテンツにジャンプ

オートアップデート

GitHub

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

バンドルがHTTPSで配信されていることを確認し、更新をダウンロードするために必要なCORSヘッダーがサーバーに設定されていることを確認してください。 例えば。 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:

に追加する updateUrl に追加する 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 keyは semver format.

zipファイルには index.html rootディレクトリのファイルとして、またはrootディレクトリにのみ1つのフォルダが存在し、そのフォルダ内に index.html を含む必要があります。

CLI を使用してバンドルを圧縮するコマンドを実行できます。

ファイルを含むバンドルを作成して、サーバーから提供します。
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

バンドルチェックサムの生成

セクション:バンドルチェックサムの生成

重要: You must use the Capgo CLI to create your bundle zip file. The Capgo plugin requires a specific zip format and structure that is only guaranteed when using the official CLI tool. Standard zip utilities may create incompatible archives.

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

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

このコマンドは次のことを行います。

  • Capgo プラグインに互換性のある形式で zip ファイルを作成します。
  • SHA256のチェックサムを生成して、インテグリティの検証に使用します。
  • バンドルの情報をJSON形式で出力します。

例出力:

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

Capgoを使用して checksum この出力から値を取得し、API の応答に追加して、プラグインがインストール前にバンドルの整合性を検証できるようにします。

「Auto Updateから続きます」のセクション

「自動更新から続ける」

Auto Update オートアップデート Auto Update Using @capgo/capacitor-updater capgo/capacitor 自動アップデートのためのネイティブ機能について Capgo エンタープライズ Capgo エンタープライズの製品フローについて イオニクス エンタープライズ プラグインの代替 __CAPGO_KEEP_0__ エンタープライズ プラグインの代替 Capgo の代替 Capgo の代替の製品フローについて Capgo のコンサルティング Capgo の製品フローについて