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