콘텐츠로 건너뛰기

빠른 업데이트

Capgo의 실시간 업데이트 시스템은 전체 JS 번들이 아닌 변경된 파일만 전송하여 더 빠르고 효율적으로 업데이트를 제공할 수 있습니다

이는 특히 다운로드해야 하는 데이터양을 최소화하므로 느리거나 데이터 요금제가 있는 네트워크 연결을 사용하는 사용자에게 유용합니다

두 번째 이점은 앱에 이미지나 비디오와 같이 거의 변경되지 않는 큰 에셋이 있을 때, 압축된 JS 파일과 비교하여 한 번만 다운로드된다는 점입니다

차등 업데이트 작동 방식

Capgo의 차등 업데이트는 앱에 설치된 Capgo 플러그인에 의해 처리됩니다. --partial 플래그를 사용하여 앱의 새 버전을 업로드하면 Capgo는 다음과 같이 처리합니다:

  1. 빌드의 각 파일이 개별적으로 업로드됩니다
  2. 각 파일에 대한 체크섬이 생성됩니다
  3. 모든 파일과 해당 체크섬을 나열하는 새로운 json 매니페스트가 생성됩니다
  4. 이 매니페스트는 Capgo 데이터베이스에 업로드됩니다

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

그런 다음 플러그인은 전체 JS 번들이 아닌 변경된 파일만 다운로드합니다. 이 다운로드된 파일들과 이미 가지고 있는 변경되지 않은 파일들을 결합하여 앱의 새 버전을 재구성합니다

차등 업데이트 활성화

Capgo 앱에서 차등 업데이트를 활성화하려면 새 버전을 업로드할 때 간단히 --partial 플래그를 사용하면 됩니다:

차등 업데이트 강제 적용

모든 업로드가 차등 업데이트이며 실수로 전체 번들 업로드를 방지하고 싶다면 --partial-only 플래그를 사용할 수 있습니다:

Terminal window
npx @capgo/cli@latest upload --partial-only

--partial-only가 사용되면 Capgo는 개별 파일만 업로드하고 매니페스트를 생성합니다. 부분 업데이트를 지원하지 않는 기기는 업데이트를 다운로드할 수 없습니다

다음과 같은 경우에 --partial-only를 사용하고 싶을 수 있습니다:

  • 항상 차등 업데이트를 사용하고 전체 번들 업로드를 절대 허용하지 않으려는 경우
  • CI/CD 파이프라인을 설정하고 모든 자동화된 업로드가 차등적으로 이루어지도록 하려는 경우
  • 앱이 크고 대역폭이 제한적이어서 업로드/다운로드 크기를 최소화해야 하는 경우

--partial-only가 설정된 상태에서 전체 번들 업로드가 필요한 경우, 단순히 --partial-only 없이 업로드 명령을 실행하면 됩니다. 이는 해당 단일 업로드에 대해 설정을 재정의하여 필요할 때 완전한 번들을 푸시할 수 있게 합니다

문제 해결

차등 업데이트가 작동하지 않는 것 같다면 (즉, 작은 변경사항에도 기기가 항상 전체 JS 번들을 다운로드하는 경우), 다음 사항을 확인하세요:

  • 새 버전을 업로드할 때마다 --partial 플래그를 사용하고 있는지
  • --partial-only를 사용하는 경우, 실수로 --partial 플래그를 생략하지 않았는지
  • 기기가 최신 버전의 Capgo 플러그인을 실행하고 있는지
  • 기기가 안정적인 네트워크 연결을 가지고 있고 Capgo 서버에 접근할 수 있는지

Capgo 웹앱에서 마지막 업로드의 세부 정보를 확인할 수도 있습니다:

  1. 웹앱으로 이동
  2. 앱을 클릭
  3. 통계 바의 번들 수를 클릭
  4. 마지막 번들 선택
  5. Partial 필드 확인 bundle type

계속해서 문제가 있다면 Capgo 지원팀에 연락하여 추가 지원을 받으세요. 그들은 서버 로그를 확인하여 부분 업로드가 올바르게 처리되고 있는지, 기기가 업데이트된 매니페스트를 받고 있는지 확인할 수 있습니다

이게 전부입니다! --partial 플래그는 Capgo에게 차등 업데이트에 필요한 개별 파일 업로드와 매니페스트 생성을 수행하도록 지시합니다

차등 업데이트로 전달하려는 새 버전을 업로드할 때마다 --partial을 사용해야 한다는 점에 유의하세요. 플래그를 생략하면 Capgo는 전체 JS 번들을 단일 파일로 업로드하고, 작은 부분만 변경되었더라도 기기는 전체 번들을 다운로드하게 됩니다