메뉴로 건너뛰기

델타 업데이트

Capgo’s Live Update system can deliver updates faster and more efficiently by only sending the changed files, rather than the entire JS bundle.

두 번째 이점은 앱이 자주 변경되지 않는 큰 자산을 가지고 있을 때, 예를 들어 이미지 또는 비디오와 같은 경우입니다. 이 경우 zipped JS 파일과 비교하여 다운로드가 한 번만 이루어집니다.

델타(매니페스트) 업데이트는 어떻게 작동하는가?

Capgo에서 Delta (manifest) 업데이트는 Capgo 플러그인이 설치된 앱에서 처리됩니다. Capgo 플러그인이 업로드한 새로운 앱 버전을 사용하여 --delta Capgo 플러그인은 다음을 수행합니다:

  1. 앱 빌드의 각 파일이 개별적으로 업로드됩니다.
  2. 각 파일에 대한 체크섬이 생성됩니다.
  3. 새로운 JSON 매니페스트가 생성되어 모든 파일과 체크섬을 목록화합니다.
  4. 이 매니페스트는 Capgo 데이터베이스에 업로드됩니다.

앱을 실행하는 장치가 업데이트를 확인할 때, Capgo 플러그인이 서버에서 새로운 매니페스트를 받습니다. 플러그인은 현재 가지고 있는 매니페스트와 비교하여 체크섬과 파일 경로를 기반으로 변경된 파일을 식별합니다.

플러그인은 변경된 파일만 다운로드하고, 전체 JS 번들을 다운로드하지 않습니다. 다운로드한 파일과 이전에 가지고 있던 변경되지 않은 파일을 combination하여 새로운 앱 버전을 재구성합니다.

__CAPGO_KEEP_0__ 앱에 대해 델타(매니페스트) 업데이트 활성화하기

델타(매니페스트) 업데이트 활성화

Capgo 앱에 대해 델타(매니페스트) 업데이트 활성화하려면 --delta 업로드할 새로운 버전을 올릴 때

flag를 사용하세요.
npx @capgo/cli@latest bundle upload --delta

복사 autoUpdate 만약"atInstall", "onLaunch"가 설정되어 있다면(즉시 적용 모드인 "always", 또는 capacitor.config, the CLI detects it. In non-interactive environments it sends Delta (manifest) updates automatically, and in interactive environments it prompts you to confirm before uploading. Legacy directUpdate __CAPGO_KEEP_0__는 그것을 감지한다. 비 인터랙티브 환경에서는 자동으로 델타(매니페스트) 업데이트 보내고, 인터랙티브 환경에서는 업로드하기 전에 확인을 요청한다. LEGACY config는 여전히 감지된다. 사용 --no-delta 전체 번들 업로드를 강제합니다.

델타 업데이트 제한

델타 업데이트 제한
  • 빈 파일: CLI 로그 Ignoring empty file... 델타 매니페스트에서 0 바이트 파일을 제외합니다. 업로드를 중단하지 않고 결과 번들을 변경할 수 있는 빈 파일을 추가할 수 있습니다. 0 바이트 파일을 포함하지 마십시오. 델타 번들 경로에.
  • 경로에 공백이 있는 경우: 델타 업로드는 파일을 업로드하기 전에 업로드를 실패합니다. 업로드 전 파일이나 디렉토리 이름을 변경하여 공백을 제거하십시오.

델타 업데이트 강제

델타 업데이트 강제

전체 업로드가 델타 업데이트(매니페스트)인지 확인하고 의도치 않은 전체 번들 업로드를 방지하려면 다음 플래그를 사용할 수 있습니다. --delta-only flag:

터미널 창
npx @capgo/cli@latest bundle upload --delta-only

만약 --delta-only Delta (매니페스트) 업데이트를 사용할 때, Capgo은 개별 파일만 업로드하고 매니페스트를 생성합니다. Delta (매니페스트) 업데이트를 지원하지 않는 모든 장치에서는 업데이트를 다운로드할 수 없습니다.

Delta (매니페스트) 업데이트를 사용해야 하는 경우 --delta-only if:

  • Delta (매니페스트) 업데이트를 항상 사용하고 전체 배포물 업로드를 허용하지 않아야 하는 경우
  • CI/CD PIPELINE을 설정하고 모든 자동 업로드가 Delta (매니페스트) 업데이트로 이루어지도록 보장하고 싶다면
  • 앱이 크고 대역폭이 제한되어 있으므로 업로드/다운로드 크기를 최소화해야 하는 경우

Delta (매니페스트) 업데이트를 사용해야 하는 경우 --delta-only 설정된 경우에만 Delta (매니페스트) 업데이트를 사용하고 싶다면 --delta-onlyDelta (매니페스트) 업데이트를 사용하고 싶지 않은 경우에만 전체 배포물 업로드를 허용하고 싶다면, 단일 업로드 명령을 실행하여 __CAPGO_KEEP_0__을 생략하면 됩니다. 이로 인해 전체 배포물을 업로드할 수 있습니다.

[문제 해결]

제목: 문제 해결

Delta (매니페스트) 업데이트 문제가 있는 경우 (예: 장치가 항상 작은 변경 사항에도 전체 JS 번들을 다운로드 함), 다음을 확인하세요:

  • 업로드할 때마다 --delta flag를 사용하세요
  • flag를 사용하는 경우 --delta-onlyflag를 사용하는 경우에 --delta flag를 생략하지 않았는지 확인하세요
  • Capgo 플러그인의 최신 버전을 실행 중인 장치입니다
  • Capgo 서버에 접근할 수 있는穩定的 네트워크 연결을 가지고 있는 장치입니다

Capgo 웹앱을 사용하여 업로드한 마지막 정보를 확인할 수 있습니다

  1. 웹앱으로 이동하세요 webapp
  2. 앱을 클릭하세요
  3. stat 바의 번들 수를 클릭하세요.
  4. 마지막 번들을 선택하세요
  5. 확인 Partial field 번들 유형

문제가 계속되면 Capgo 지원팀으로 연락해 주시기 바랍니다. 그들은 서버 로그를 확인하여 Delta (manifest) 업로드가 정상적으로 처리되고 장치가 업데이트된 매니페스트를 받고 있는지 확인할 수 있습니다.

그의 그것! 번들이 __CAPGO_KEEP_0__를 수행하도록 지시하는旗입니다. Delta (manifest) 업데이트를위한 개별 파일 업로드 및 매니페스트 생성이 필요합니다. --delta Capgo를 사용해야 하는 이유는 매뉴얼 업데이트가 Delta (manifest) 업데이트로 전환되기 위해서입니다. 매뉴얼 업데이트를 위해 Capgo를 사용하지 않으면, Capgo는 전체 JS 번들을 단일 파일로 업로드하고 장치는 변경된 부분이 적더라도 전체 번들을 다운로드합니다.

__CAPGO_KEEP_0__를 사용해야 하는 이유는 매뉴얼 업데이트가 Delta (manifest) 업데이트로 전환되기 위해서입니다. 매뉴얼 업데이트를 위해 __CAPGO_KEEP_0__를 사용하지 않으면, __CAPGO_KEEP_0__는 전체 JS 번들을 단일 파일로 업로드하고 장치는 변경된 부분이 적더라도 전체 번들을 다운로드합니다. --delta Capgo를 사용해야 하는 이유는 매뉴얼 업데이트가 Delta (manifest) 업데이트로 전환되기 위해서입니다. 매뉴얼 업데이트를 위해 Capgo를 사용하지 않으면, Capgo는 전체 JS 번들을 단일 파일로 업로드하고 장치는 변경된 부분이 적더라도 전체 번들을 다운로드합니다.

__CAPGO_KEEP_0__ Live Updates

Delta 업데이트로 계속 가기

Delta 업데이트를 사용 중이라면 Delta 업데이트 Delta 업데이트와 연결하세요 Capgo Live Updates for the product workflow in Capgo Live Updates, Live 업데이트의 구현 세부 정보 Live 업데이트의 구현 세부 정보 Live 업데이트의 구현 세부 정보 업데이트 동작 업데이트 동작 __CAPGO_KEEP_0__ 구현 세부 사항 및 업데이트 동작에 대해 업데이트 유형 __CAPGO_KEEP_0__ 구현 세부 사항 및 업데이트 유형에 대해.