메뉴로 바로가기

자동 업데이트

자동 업데이트 서버를 실행하는 방법을 설명하는 문서입니다.

번들이 HTTPS를 통해 제공되고 서버가 앱이 업데이트를 다운로드할 수 있도록 올바른 CORS 헤더를 가지고 있는지 확인하세요. https://myserver.com/app/updates/updates.json

번들이 제공되는 방법에 대해 익숙하지 않다면, Capgo Cloud를 시도하거나 예시를 여기서 보세요:

__CAPGO_KEEP_0__을 추가하세요. updateUrl __CAPGO_KEEP_0__에 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 서버는 JSON 형식으로 capacitor-업데이터 플러그인에 응답해야 합니다. 업데이트가 필요할 경우 이 데이터를 사용합니다.

{
"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_0__ 키는 semver 형식입니다.

__CAPGO_KEEP_0__의 zip은 index.html 루트 폴더에 파일로, 또는 루트 폴더에 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 flag:

체크섬 정보가 포함된 번들을 생성
npx @capgo/cli bundle zip [appId] --json

이 명령어는:

  • Capgo 플러그인과 호환되는 올바른 zip 파일을 생성합니다.
  • 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.