Skip to content

Tauri プロジェクトにおける公式コンポーネント updater の統合リファレンス

1. 公式コンポーネント updater の紹介

Tauri 公式が提供する updater コンポーネントは、更新サーバーまたは静的 JSON ファイルを通じてアプリケーションの自動更新をサポートしており、主な機能は以下のとおりです:

  • Tauri 更新プロトコルと互換性のあるバージョンチェック
  • クロスプラットフォームのインストールパッケージのダウンロードとインストールプロセス
  • 柔軟な更新戦略の設定

コアリソース

全体のロジック:UpgradeLink が提供する API を呼び出してアップグレード戦略を取得し、updater コンポーネントが具体的な更新プロセスを実行し、公式の更新システムとのシームレスな統合を実現します。

2. 統合のコアステップ

1. 公式更新コンポーネントのインストール

2. 公式動的更新サーバーのドキュメントを読み、統合プロセスを理解する。ドキュメントアドレス

動的更新サーバー

UpgradeLink は、公式仕様で要求されるリクエストパラメータとレスポンス構造に完全に準拠した更新 API を提供しているため、シームレスな置換が可能です。

3. コードの置換

更新チェック

上記は公式が提供する更新チェックのコードです。公式が提供する check メソッドを置換するだけで済みます。

 const update = await check({
    timeout: 5000 /* インターフェースリクエストのタイムアウト 5秒 */,
    headers: {
      'X-AccessKey': 'mui2W50H1j-OC4xD6PgQag',  // UpgradeLink の AccessKey
    },
});

4. 設定ファイルアドレスの切り替え:/tauri-demo/src-tauri/tauri.conf.json

Tauri 設定

上記は公式の Tauri 設定です。

endpoints は公式が提供する更新チェックのインターフェースアドレスです。UpgradeLink が提供するインターフェースアドレスに置換するだけで済みます。

"bundle": {
    "createUpdaterArtifacts": true,
    ...
    ]
  },
"plugins": {
    "updater": {
      "dangerousInsecureTransportProtocol": true,
      "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDY4QjBGNEM4NjUyMUNGRjAKUldUd3p5Rmx5UFN3YUN1UkFMK05DdWR4VjA1eDRybkxJNzMreURNbHZ4VFhtSk54UTVMWVg4NnAK",
      "endpoints": [
        "https://api.upgrade.toolsetlink.com/v1/tauri/upgrade?tauriKey=a0jtz0HUwL66r7gCGvbMKQ&versionName={{current_version}}&appointVersionName=&devModelKey=&devKey=&target={{target}}&arch={{arch}}"
      ],
      "windows": {
        "installMode": "passive"
      }
    }
}

endpoints の変更後のリンクアドレスは、UpgradeLink が提供するアップグレード戦略取得のインターフェースアドレスを組み合わせたものです。更新バージョンの取得

このドキュメントでは、更新プロトコルのリクエストパラメータ(targetarch など)とレスポンス構造について詳細に説明しています。UpgradeLink は公式仕様と完全に互換性があるため、直接置換して使用することができます。

参考として使用できる tauri-demo

5. 権限の問題に注意する必要があります。更新の統合には、一般的に公式の updater 更新コンポーネントと公式の process 再起動コンポーネントを使用します。

{
  "permissions": [
    ...,
    "updater:default",
    "process:default"
  ]
}

以上が統合ガイドです。内容の詳細を調整したり、特定のシナリオの説明を補充したりする必要がある場合は、具体的な要件をお知らせください。

toolsetlink@163.com