자동 업데이트
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사합니다.
자동 업데이트 서버를 실행하는 방법을 설명하는 문서입니다.
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사합니다. https://myserver.com/app/updates/updates.json
만약 Capgo을 제공하는 방법에 대해 익숙하지 않다면, Cloud를 사용해 보거나 여기서 예를 참조하세요:
설정
설정Add an updateUrl to your capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}API
업데이트 APIAPI 플러그인은 앱이 열릴 때마다 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-업데이터 플러그인에게 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 키는 semver 형식이어야 합니다.
압축 파일은 index.html 루트 디렉토리에 index.html 루트 디렉토리에 하나의 폴더만 존재할 경우
CLI 명령어를 사용하여 배포할 패키지를 압축할 수 있습니다:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]배포할 패키지 체크섬을 생성합니다.
배포할 패키지 체크섬 생성중요: Capgo CLI을 사용하여 배포할 패키지 zip 파일을 생성해야 합니다. Capgo 플러그인은 공식 CLI 도구를 사용할 때만 특정 zip 형식과 구조를 보장합니다. 표준 zip 유틸리티는 호환되지 않는 아카이브를 생성할 수 있습니다.
Capgo CLI zip 명령어를 사용하여 배포할 패키지의 체크섬을 생성하세요. --json flag:
npx @capgo/cli bundle zip [appId] --json이 명령어는:
- 정확한 zip 파일을 생성하여 Capgo 플러그인과 호환되도록 하세요
- SHA256 체크섬을 생성하여 무결성 확인을 위해
- 배포 정보를 JSON 형식으로 출력하세요
예시 출력:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}이 __CAPGO_KEEP_0__ 응답에서 사용할 수 있는 checksum value from this output in your API response to ensure the plugin can verify the bundle integrity before installation.