__CAPGO_KEEP_0__ 홈

버전 타겟팅

각 원시 버전은 실행할 수 있는 번들을만 전달

사용자는 스토어에서 업데이트를 자신의 속도로 진행하므로, 여러 원시 버전이 동시에 활성화됩니다. Capgo는 각 번들의 원시 종속성을 확인하고, 버전 규칙에 의해 업데이트를 차단하고, 각 원시 버전을 전용 채널로 라우팅합니다.

업로드 전에 네이티브 호환성을 확인하세요

채널에서 현재 배포 중인 네이티브 패키지를 프로젝트의 네이티브 패키지와 비교합니다. CI에서 --fail-on-incompatible 옵션을 추가하여 업로드가 새로운 바이너리가 필요할 때 중단되도록 설정하세요.

네이티브 호환성 문서

네이티브 버전의 Floor를 각 배포에 설정하세요

채널을 메타데이터 전략에 추가하고 --auto-min-update-version 옵션을 사용하여 업로드하세요. 네이티브 버전이 배포의 Floor보다 낮은 장치에서는 배포를 건너뛰고 현재 배포를 유지합니다.

버전 타겟팅 문서

버전 타겟팅을 차단하세요

--disable-auto-update major, minor, 또는 patch 옵션을 사용하여 장치가 네이티브 버전 라인 밖의 배포를 받지 않도록 차단합니다. 이 규칙은 버전 번호만 비교합니다. 네이티브 code를 검사하지 않습니다.

업데이트 유형 및 버전 차단

네이티브 버전별로 채널을 설정하세요

각 네이티브 빌드의 Capacitor 구성에서 defaultChannel을 설정하세요. 예를 들어 v2 또는 v3. 각 라인은 자신의 배포를 가집니다. 더 오래된 라인은 마지막으로 작동한 배포를 유지합니다.

버전 타겟팅 문서

어떻게 작동하는가

여러 개의 원본 버전을 가진 팀은 Capgo와 함께 배포합니다.

CI 설정이 live update 채널과 스토어 채널이 함께 작동하도록 허용합니다. 아래의 모든 명령은 Capgo CLI 문서에서 가져옵니다.

  1. 커밋이 원본 빌드를 필요로 하는지 묻습니다.

    빌드가 필요하다는 것을 비교합니다. 채널과 native 패키지를 비교합니다. 스토어 릴리스가 필요할 때 yes와 함께 code 1을 출력하고, live update만 충분할 때 no를 출력합니다.

    npx @capgo/cli@latest build needed com.example.app --channel production
    빌드가 필요하다는 것을 참조합니다.
  2. 채널을 메타데이터 전략으로 전환합니다.

    이것을 한 번만 수행합니다. 그 후 각 번들은 최소한의 원본 버전을 가지고 있고, 그 아래의 장치들은 번들을 건너뜁니다.

    npx @capgo/cli@latest channel set production com.example.app \
      --disable-auto-update metadata
    버전 타겟팅 문서
  3. 일상적인 라이브 업데이트를 업로드합니다.

    --auto-min-update-version을 모든 업로드에서 유지합니다. --fail-on-incompatible은 번들이 채널이 가지고 있지 않은 원본 code을 필요로 할 때 업로드를 중단합니다.

    npx @capgo/cli@latest bundle upload --channel production \
      --auto-min-update-version \
      --fail-on-incompatible
    원본 호환성 문서
  4. 새 네이티브 릴리스에 대한 번들을 업로드하세요

    새 바이너리가 배포되면 --fail-on-incompatible 옵션 없이 번들을 업로드하세요. Capgo은 더 오래된 빌드가 이 버전을 건너뛰도록 하며, 나중에 새로운 네이티브 패키지와 비교하여 확인합니다.

    npx @capgo/cli@latest bundle upload --channel production \
      --auto-min-update-version
    네이티브 및 OTA 채널 워크플로

앱플로우 이주

아이온ิค 앱플로우에서 오신가요?

앱플로우는 네이티브 버전과 일치하는 라이브 업데이트를 제공했습니다. Capgo 에서도 채널과 버전 규칙을 사용하면 동일한 결과를 얻을 수 있습니다.

  1. 네이티브 라인별로 채널을 하나씩 만들 수 있습니다. 예를 들어 v1과 v2.
  2. 네이티브 빌드의 Capacitor 설정에서 defaultChannel을 채널에 설정합니다.
  3. 네이티브 라인별로 업로드할 채널을 지정합니다.
  4. code 업로드 시 --auto-min-update-version 옵션을 유지하여 최신 네이티브 code이 이전 빌드를 건너뛰도록 하세요.
앱플로우 이주 가이드
네이티브 라인별 채널
// capacitor.config.ts in your 2.x native builds
plugins: {
  CapacitorUpdater: {
    defaultChannel: 'v2',
  },
},

# ship a fix to 2.x users only
npx @capgo/cli@latest bundle upload --channel v2 \
  --auto-min-update-version

# 1.x devices stay on their channel's current bundle

일반적인 상황

새로운 네이티브 플러그인

2.0 버전의 바이너리에서 카메라 플러그인을 추가합니다. 업로드할 때 --auto-min-update-version 옵션을 사용하여 1.x 기기에서는 사용하지 않도록 합니다.

자연적 호환성 문서

조속한 노출

롤아웃을 위한 채널에 버블을 전송하고 --rollout 옵션을 사용하여 설치 및 실패 데이터를 모니터링한 후 이를 승격하거나 롤백하세요.

진보적인 롤아웃 문서

구 버전을 폐기

v1 채널에 업로드를 중지하세요. v2 채널은 업데이트를 계속 받으며 기존 버전은 마지막으로 작동한 버블을 유지합니다.

버전 대상화 문서

자연적 라인별로 각기 다른 채널을 가리킵니다.

자연적 3.x

  • v3
    새로운 버블
    활성
  • 네이티브 2.x
    v2
    수정만
  • 네이티브 1.x
    v1
    새로운 패키지 없음

v3에 기능을 배포하고 v2에 수정을 배포하며 v1에는 아무것도 배포하지 않습니다. v1에 설치된 기기는 마지막으로 작동한 패키지를 유지합니다.

Capacitor로 빌드된 앱

공개 앱은 이전 버전과 최신 버전의 네이티브 버전을 모두 지원해야 합니다.

시민, 건강, 예보 앱은 이전 안드로이드 버전과 다양한 기기 세대에 대한 지원이 가능합니다. 버전 타겟팅은 각 네이티브 빌드를 최신 호환 가능한 웹 패키지에 유지하면서 모든 사용자에게 하나의 업데이트 경로를 강요하지 않습니다.

e-Título 앱 아이콘 SOCIAL

e-제목

공공 장치 호환성이 넓은 시민 인격 앱이 필요합니다.

구글 플레이 설치
54,900,000
점수
4.8
Conecte SUS 앱 아이콘 의료

Conecte SUS

OLDER 및 NEWER 네이티브 셸이 필요로 하는 웹 번들을 다르게 관리해야 하는 건강 앱입니다.

구글 플레이 설치
27.7M
스토어 평점
4.6
풍경닷컴 - 날씨 예보 앱 아이콘 WEATHER

풍경닷컴 - 날씨 예보

기기 기능과 맵 성능이 버전에 따라 달라질 수 있는 날씨 앱입니다.

구글 플레이 설치
32,900,000
스토어 평점
4.7

고객 증명

Capgo으로 배포하는 팀들이 말하는 것

5.0/5 개발 팀에 의해 평가됨 9,400+ 팀 리뷰 보기

Webincode

개발자, Webincode

"기기 ID를 특정 그룹에 추가하고, 특정 그룹에만 변경을 푸시할 수 있는 기능은 정말 큰 도움이 됩니다."

네이트 반 조일

CTO, Private

“설치가 시작되기까지 하루 이내에 걸렸습니다. 채널 기반 롤아웃은 내 장치에서 테스트 할 수 있게 해주었고, 프로덕션 사용자에게 배포되기 전에.”

세르지우 S의 초상화

Sergiu S

drivolino GmbH의 리드 개발자

Capgo Capacitor 업데이트 플러그인은 업데이트를 배포하는 방식이 완전히 바뀌었습니다. 몇 일 걸렸던 업데이트가 이제는 몇 분 만에 끝납니다.

FAQ

버전 타겟팅

버전 타겟팅

버전 타겟팅

--disable-auto-update은 충분히 충돌을 방지할 수 있나요?

아니요. 버전 규칙은 버전 번호만 비교하기 때문에 주요 또는 패치 릴리스에 내장된 변경 사항은 여전히 배포됩니다. --fail-on-incompatible 또는 --auto-min-update-version을 사용하세요. 이들은 네이티브 패키지를 비교합니다.

네이티브 호환성 문서

CI는 변경이 배포 릴리스가 필요한지 어떻게 알까요?

빌드가 필요하거나 채널에 배포 유형을 실행하세요. 두 가지 모두 네이티브 패키지 메타데이터를 비교합니다. ios/, android/, 또는 capacitor.config의 모든 편집을 보지 않으므로 git에서 그 경로를 게이트하세요.

CI에서 OTA 또는 네이티브 빌드를 선택하세요

Capgo로 이주하고 있습니다. 버전 일치 업데이트 유지할 수 있나요?

네. defaultChannel 또는 --auto-min-update-version을 사용하여 네이티브 라인별 채널을 사용하거나 메타데이터 전략을 사용하세요. Appflow 이주 가이드는 설정 방법을 안내합니다.

Appflow 이주 가이드

호환성이 없는 배포가 이미 나왔을 때 어떻게 하나요?

채널을 마지막으로 호환성이 있는 배포로 되돌리거나 내장된 배포를 강제하고 네이티브 빌드를 배포하세요. notifyAppReady()는 시작을 실패한 배포를 되돌리지만 호환성이 있는 네이티브 code을 대신할 수 없습니다.

되돌리기 문서

모든 원시 버전은 실행할 수 있는 패키지에 유지하세요

14일 무료试用 기간 동안 CI에서 메타데이터 전략과 호환성 검사를 설정하세요. 카드 필요하지 않습니다.