본문으로 건너뛰기
튜토리얼

Capgo 업데이트를 빠르고 효율적으로 유지하는 방법

Capgo 업데이트를 위한 실용적인 가이드: 델타 번들, 채널 기반 롤아웃, 네이티브 베이스 라인 리프레시, PR 미리보기, 직접 업데이트를 위한 경계

작성 기사

마틴 도나디유

작가

발레리아

리뷰어

조던

편집자

How to Keep Capgo Updates Lean and Fast

live update은 사용자가 거의 알아차리지 못하는 것.

일반적으로 세 가지를 의미한다:

  1. 다운로드 크기가 작다.
  2. 배포가 제어된다.
  3. 오류가 발생하면 즉시 복구된다.

The same “keep OTA lean” advice that works in React Native land also applies to Capgo. The difference is that Capgo gives Capacitor teams a few extra levers: 델타 업데이트, 채널, 자동 롤백, 버전 목표, 그리고 선택적 끝-to-끝 암호화.

만약에 그들을 함께 사용하면, 더 작은 패킷, 더 빠른 설치, 그리고 훨씬 적은 운영 메세지가 생깁니다.

Lean은 MAU가 동일할 때도 중요합니다.

한 가지 유용한 Capgo-특정 세부사항: Capgo MAU는 30일 동안 업데이트 서비스에 접촉한 장치의 월간 활성 수입니다.

bundle을 얇게 만드는 것은 주로 MAU 카운팅을 줄이는 trick이 아닙니다. 그것은 사용자와 팀이 실제로 느낄 수 있는 부분을 개선하기 때문입니다:

속도, 안전성, 운영 효율성에 중점을 둔 Lean 업데이트입니다.

1. Delta 업데이트로 기본 설정하세요.

만약에 한 가지 일만 하게 된다면, 이 일을 하세요.

Capgo의 Delta 업데이트 변경된 파일만 보내고 전체 웹 번들을 다시 다운로드하는 대신에. 이는 정기적인 OTA 성능에서 가장 큰 단일 승리입니다.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

버전 사이에 변경된 파일만 보내고, 전체 웹 번들을 다시 다운로드하지 않도록 하세요. 그게 루틴 OTA 성능의 가장 큰 단일 이익입니다.

bunx @capgo/cli@latest bundle upload --channel production --delta

QA 패스가 끝나면: --delta-only 만약 CI가 엄격하게 유지하고 싶다면, 사용하세요.

bunx @capgo/cli@latest bundle upload --channel production --delta-only

업데이트를 위해 사용하세요 --delta-only 만약에

이것은 특히 Live Update를 사용할 때 더 중요합니다. directUpdatebecause the time between “update found” and “app reloaded” becomes visible to the 사용자.

2. 자산을 자산으로 다루세요, 자바스크립트의 짐으로 다루지 마세요.

OTA 업데이트로 인해 조용히膨張하는 큰 자산들은 어디에 있나요?

어떤 실용적인 규칙이 있습니다.

  • 대형 이미지를 자바스크립트 내부에 인라인하지 마세요. 일반 자산 파일이면 충분합니다.
  • 자주 변경되는 콘텐츠는 자체 CDN 또는 API에 유지하세요. shipped 앱 번들 내부에 살펴야 하는 것은 아닙니다.
  • 마케팅 이미지를, 온보딩 비디오, 그리고 한 번의 캠페인 자산에 주의하세요. 매 릴리즈마다 교체됩니다.
  • 안정적인 자산은 안정되게 유지하세요. 델타 업데이트로, 변경되지 않은 파일은 다시 다운로드하지 않고 재사용됩니다.

이것은 앱이 커질수록 Capgo을 빠르게 유지하는 가장 쉬운 방법입니다. 가장 나쁜 패턴은 작은 UI 수정이 사용자가 다운로드해야 하는 무분별한 미디어의 쌓임입니다.

3. 실제 네이티브 변경에 대해 네이티브 릴리즈를 유지하세요.

Capgo은 런타임에 로드되는 HTML, CSS, 자바스크립트, 자산을 업데이트합니다.

이것은 올바른 채널이 아닙니다:

  • 새로운 네이티브 플러그인
  • 권한 변경
  • capacitor.config.ts 변경
  • iOS 또는 Android 네이티브 프로젝트 상태를 수정하는 모든 것이 포함됩니다.

그 문구는 성능에도 중요합니다. OTA 라인에 주요 구조적 변경을 계속 밀어 넣으면, 업데이트 전략이 시간이 지남에 따라 더 무거워지고 위험해집니다.

두 개의 릴리스 라인을 의도적으로 사용하세요:

네이티브 라인

플러그인 변경, 권한 변경 및 네이티브 구성:

bun run build
bunx cap sync

그런 다음 일반 스토어 릴리스를 배포하세요.

Capgo 라인

안전한 웹层 반복:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

최근에 많은 수명이 긴 자산을 추가한 경우에 자주 업데이트하는 네이티브 기준선도 새로 고쳐야 합니다. 새로운 기준선이 포함된 최신 스토어 빌드는 미래의 Capgo diff를 작게 유지합니다.

4. __CAPGO_KEEP_0__를 사용하여 업데이트 크기를 작게 유지하세요.

‘lean’ 업데이트란 단순히 메가바이트만큼의 크기만을 고려하는 것이 아닙니다. 또한 업데이트 전 단말기가 얼마나 많은 장치가 업데이트 된 후에 업데이트 내용이 좋은지 확인할 수 있는지에 대한 것입니다.

Capgo’s 채널 시스템 업데이트를 관리하는 가장 깨끗한 방법입니다:

  • staging QA
  • beta 초대된 테스터
  • production 모두
  • hotfix 비상 복구

업데이트 흐름은 다음과 같습니다:

  1. 업로드 staging.
  2. 실제 장치에서 검증
  3. 차분한 속도로 배포하십시오. 통제된 채널 또는 퍼센티지 기반 배포를 통해.
  4. 건강이 떨어지면 즉시 롤백하십시오.

여러 개의 네이티브 베이스라인이野外에 존재하는 앱이 있다면 채널을 버전 목표와 pair하십시오. 이것은 불일치하거나 불필요한 무거운 패키지를 더 오래된 바이너리에서 멀리 떨어뜨립니다.팀이 더 긴밀한 검토 루프를 원한다면 __CAPGO_KEEP_0__도 PR 전시를 위해 잘 작동합니다.

팀이 더 짧은 검토 루프를 원한다면 Capgo도 잘 작동합니다. PR 예고업데이트를 적용하고 싶은 속도에 따라 시작 경로가 얼마나 엄격해야 하는지에 따라서.

__CAPGO_KEEP_0__의 업데이트 동작

5. 직접 업데이트를 활성화하면 시작 시간을 최적화하십시오.

Capgo’s __CAPGO_KEEP_0__의 업데이트 동작 문서에서는 명확히 Delta 업데이트와 pair하는 것을 추천합니다. directUpdate 그것이 올바른 기본 설정입니다.

두 번째 경계는 notifyAppReady().

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

앱이 기본 10초 이내에 준비되지 않으면 notifyAppReady() Call appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:

  • Call notifyAppReady() 즉시 다시 로드할 경우 앱 상태를 신중히 저장하고 복원하세요.
  • 넓은 론칭 전에 나쁜 네트워크 및 저성능 장치 시나리오를 테스트하세요.
  • 최근에 검토하지 않은 경우
  • docs explicitly recommend pairing

with Delta updates. That is the right default. notifyAppReady 가이드 읽어보면 좋습니다.

6. 내부 업데이트 채널을 사용하여 불필요한 네이티브 리빌드 대신

모바일 팀이 많은 경우, 변경 사항이 명확히 웹 전용일 때도 바이너리 빌드를 위해 시간을浪費합니다.

변경 사항이:

  • 복사
  • UI 개선
  • 온보딩 플로우
  • 가격화 화면 로직
  • 분석 연결
  • 기능 플래그
  • prompt 또는 API 응답 렌더링

그런 다음 Capgo 업데이트는 종종 더 빠른 검토 항목입니다.

Capgo의 가장 미사용된 이점 중 하나는 OTA 라인으로 리뷰 및 QA 작업을 이동할 수 있습니다. native/web 경계를 깨뜨리지 않고.

우리의 한 개의 모바일 앱 ID와 스테이징하는 방법에 대한 가이드

7. lean이 secret에서 분리되도록 유지하세요

작은 패키지와 보안 패키지는 서로 다른 문제를 해결합니다.

채널은 적격성을 제어합니다. 채널 자체로 패키지를 비밀로 만들지는 않습니다.

더 강한 전달 보증이 필요하다면:

private 키는 CI 또는 보호된 운영자 워크플로우에서만 유지하세요.

  • 업데이트 크기가 무의미하지는 않습니다. 단지 두 가지 측면을 모두 최적화해야 한다는 뜻입니다:
  • 빠르기
  • 암호화
  • 채널

실용적인 "Lean Capgo" 업데이트 워크플로

실용적인 "__CAPGO_KEEP_0__" 워크플로우

  1. 간단한 기본 운영 모델을 원한다면 이 방법을 사용하세요.
  2. 자연스럽고 OTA 릴리스 경로를 분리하세요. --delta 기본적으로.
  3. 사용 staging 및 beta 채널을 사용하여 production.
  4. 감시 업데이트 통계 및 로그 배포 후, 단지 배포하기 전에
  5. PR을 설치 가능한 미리보기로 변환할 때 네이티브 빌드가 필요하지 않습니다.
  6. 가능한 경우 대규모 변경이 있는 미디어를 번들에서 제외합니다.
  7. 네이티브 기본값을 업데이트한 후 대규모 자산 성장 또는 네이티브 변경이 발생할 때
  8. 그것을 notifyAppReady() 롤백 동작을 릴리스 엔지니어링으로 다루고 설정 트리비아로 다루지 않습니다.

그 combination은 일반적인 '변경된 것만 업로드' 접근법보다 오래 지속되는 빠른 상태를 유지합니다.

마무리 생각

Capgo 팀에게来说, “lean and fast”은 단순히 패키지 크기 문제가 아닙니다.

그것은 릴리즈 디자인 문제입니다.

델타 업데이트를 사용하여 페이로드 크기, 채널을 사용하여 롤아웃 크기, 롤백을 사용하여 실패 크기를 사용하세요. OTA를 그렇게 생각하면, 업데이트가 빠르다고 생각할 것입니다. 앱, 팀, 사용자 기반의 크기가 커져도.

How to Keep Capgo Updates Lean and Fast

__CAPGO_KEEP_0__을 사용하여 How to Keep Capgo Updates Lean and Fast 채널 라우팅과 스테이지드 롤아웃을 계획하기 위해 연결하세요. __CAPGO_KEEP_1__ 채널 구현 세부 정보 __CAPGO_KEEP_1__ 채널 구현 세부 정보 채널 채널에 대한 구현 세부 정보 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로 버전 대상 솔루션 버전 대상 솔루션의 제품 워크플로

Capacitor 앱에 대한 실시간 업데이트

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

웹层 버그가 활성화되면 __CAPGO_KEEP_0__를 통해 픽스를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 말고. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로에 남아있다.

컨텍스트: Capgo 마케팅 웹사이트. 역할: 지원 설명 문단 또는 메타 설명. 보존: Capgo 제품/브랜드 및 개발자 용어 정확히. 메시지 키 `instant_updates_for_capacitor_apps_description` (Instant Updates For Capacitor Apps Description).

마틴의 인간 지원

Capgo은 전문적인 모바일 앱을 만들기 위해 꼭 필요한 최고의 통찰력을 제공합니다.