본문 바로가기

@capgo/capacitor-updater

capacitor 앱을 위한 Live update

Cordova 및 Electron에서도 사용 가능합니다

“Cordova 및 Electron에서도 사용 가능합니다” 섹션

Capgo live updates는 Capacitor에 국한되지 않습니다. 동일한 백엔드와 CLI를 사용하여 다른 클라이언트 플러그인과 함께 사용하세요:

@capgo/capacitor-updater 배포됩니다 JavaScript bundle 업데이트 스토어 심사를 기다리지 않고 프로덕션 Capacitor 앱에 배포하세요. 서명된 bundle을 백그라운드에서 다운로드하고, 채널과 지연 규칙으로 rollout을 제어하며, 문제가 생기면 롤백하세요 notifyAppReady() 설정된 시간 내에 호출되지 않으면 appReadyTimeout.

주요 용도: 프로덕션 버그 핫픽스, 채널별 단계적 베타, A/B UI 실험, 내장 bundle로의 긴급 롤백.

플랫폼지원
iOS지원
Android지원
웹Bundle은 호스팅된 정적 사이트가 아닌 네이티브 셸의 WebView 레이어에 적용됩니다

Cordova 및 Electron 클라이언트는 동일한 Capgo 백엔드를 사용하는 위 링크의 sibling 플러그인을 사용합니다

  • notifyAppReady - JavaScript가 성공적으로 초기화되었음을 native layer에 알립니다.
  • setUpdateUrl - 런타임에 앱의 update URL을 동적으로 설정합니다.
  • setStatsUrl - 런타임에 앱의 statistics URL을 동적으로 설정합니다.
  • setChannelUrl - 런타임에 앱의 channel URL을 동적으로 설정합니다.
메서드설명
notifyAppReadyJavaScript가 성공적으로 초기화되었음을 native layer에 알립니다.
setUpdateUrl런타임에 앱의 update URL을 동적으로 설정합니다.
setStatsUrl런타임에 앱의 statistics URL을 동적으로 설정합니다.
setChannelUrl런타임에 앱의 channel URL을 동적으로 설정합니다.
download지정된 URL에서 새 bundle을 다운로드하여 나중에 설치할 수 있도록 준비합니다.
next앱이 백그라운드로 전환되거나 재시작될 때 활성화할 다음 bundle을 설정합니다.
set현재 bundle을 설정하고 앱을 즉시 다시 로드합니다.
delete디스크 공간 확보를 위해 로컬 저장소에서 bundle을 삭제합니다.
setBundleError수동 업데이트 모드에서 특정 bundle을 실패/오류 상태로 수동 표시합니다.
list앱에 저장된 모든 로컬 다운로드 bundle 목록을 가져옵니다.
reset앱을 검증된 정상 bundle 상태로 초기화합니다.
current현재 활성화된 bundle에 대한 정보를 가져옵니다.
reload대기 중인 업데이트를 적용하기 위해 앱을 수동으로 다시 로드합니다.
setMultiDelay대기 중인 업데이트를 적용하기 위해 충족해야 하는 조건을 설정합니다.
cancelDelay모든 지연 조건을 취소하고 대기 중인 업데이트를 즉시 적용합니다.
getLatest업데이트 서버에서 사용 가능한 최신 bundle 버전을 확인합니다.
setChannel이 기기에 로컬 런타임 업데이트 채널을 설정합니다. 대시보드/API 기기 오버라이드는 생성되지 않습니다.
unsetChannel기기에 할당된 채널을 제거하고 기본 채널로 되돌립니다.
getChannel이 기기에 할당된 현재 채널을 가져옵니다.
listChannels이 기기에서 직접 할당할 수 있는 모든 채널 목록을 가져옵니다.
setCustomId이 기기의 커스텀 식별자를 설정합니다.
getBuiltinVersion내장 번들 버전(네이티브 앱과 함께 배포된 원본 버전)을 가져옵니다.
getDeviceId이 기기의 고유하고 개인정보 친화적인 식별자를 가져옵니다.
getPluginVersion앱에 설치된 Capacitor Updater 플러그인의 버전을 가져옵니다.
isAutoUpdateEnabled자동 업데이트가 현재 활성화되어 있는지 확인합니다.
removeAllListeners이 플러그인에 등록된 모든 이벤트 리스너를 제거합니다.
addListener앱에서 번들 다운로드 이벤트를 수신합니다. 다운로드가 시작될 때, 진행 중일 때, 완료될 때 발생하며 다운로드 중 진행률을 모두 반환합니다.
addListener업데이트가 필요 없음 이벤트를 수신합니다. 앱 실행 시마다 강제로 체크하고 싶을 때 유용합니다.
addListener사용 가능한 업데이트 이벤트가 있는지 감지합니다. 앱 실행 시마다 강제로 업데이트를 확인하고 싶을 때 유용합니다.
addListenerdownloadComplete 이벤트를 감지합니다.
addListener백엔드에서 현재 앱과 호환되지 않는 업데이트로 플래그를 지정했을 때 발생하는 breaking update 이벤트를 감지합니다. 기존 방식과 동일한 페이로드를 전달합니다. majorAvailable 리스너.
addListener앱 내 Major 업데이트 이벤트를 감지합니다. disableAutoUpdateBreaking 설정으로 인해 주요 업데이트가 차단되었을 때 알려줍니다.
addListener앱 내 update fail 이벤트를 감지합니다. 다음 앱 시작 시 업데이트 설치에 실패했을 때 알려줍니다.
addListener앱 내 set 이벤트를 감지합니다. 번들이 성공적으로 적용되었을 때 알려줍니다. 이 이벤트는 JavaScript에서 소비할 때까지 네이티브에서 유지되므로, 리스너가 연결되기 전에 앱이 재로드되더라도 마지막 대기 중인 set 이벤트는 리스너가 구독하는 즉시 전달됩니다.
addListener앱 내 set next 이벤트를 감지합니다. 번들이 다음 설치할 번들로 큐에 추가되었을 때 알려줍니다.
addListener앱 내 download fail 이벤트를 감지합니다. 번들 다운로드에 실패했을 때 알려줍니다.
addListener앱 내 reload 이벤트를 감지합니다. 재로드가 발생했을 때 알려줍니다.
addListener앱 내 app ready 이벤트를 감지합니다. 앱을 사용할 준비가 되었을 때 알려줍니다. 이 이벤트는 JavaScript에서 소비할 때까지 네이티브에서 유지되므로, 앱 시작 단계에서 리스너를 나중에 연결하더라도 재로드 후에 전달될 수 있습니다.
addListener기기 자체 할당을 허용하지 않는 채널을 설정하려고 할 때 발생하는 channel private 이벤트를 수신합니다.
addListenerAndroid에서 flexible update 상태 변경을 감지합니다.
isAutoUpdateAvailable자동 업데이트 기능 사용 가능 여부를 확인합니다 (커스텀 서버 설정으로 비활성화되지 않은 경우).
getNextBundle다음 리로드 시 활성화될 예정인 bundle 정보를 가져옵니다.
getFailedUpdate가장 최근에 로드에 실패한 bundle 정보를 가져옵니다.
setShakeMenu디버깅 및 테스트를 위한 shake gesture 메뉴를 활성화하거나 비활성화합니다.
isShakeMenuEnabledshake gesture 디버그 메뉴가 현재 활성화되어 있는지 확인합니다.
setShakeChannelSelector런타임에 shake 채널 선택기를 활성화하거나 비활성화합니다.
isShakeChannelSelectorEnabledshake 채널 선택기가 현재 활성화되어 있는지 확인합니다.
getAppId업데이트 서버 통신에 사용되는 현재 설정된 App ID를 가져옵니다.
setAppId업데이트 서버 통신에 사용되는 App ID를 동적으로 변경합니다.
getAppUpdateInfoApp Store 또는 Play Store에서 앱의 이용 가능 여부 정보를 가져옵니다.
openAppStoreApp Store 또는 Play Store에서 앱 페이지를 엽니다.
performImmediateUpdateAndroid에서 즉시 인앱 업데이트를 수행합니다.
startFlexibleUpdateAndroid에서 유연한 인앱 업데이트를 시작합니다.
completeFlexibleUpdateAndroid에서 유연한 인앱 업데이트를 완료합니다.

이 레퍼런스는 다음에서 동기화됩니다. src/definitions.ts 에서 capacitor-updater.

@capgo/capacitor-updater에서 계속하기

@capgo/capacitor-updater에서 계속하기

사용 중이라면 @capgo/capacitor-updater 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-updater 사용하기 네이티브 기능의 경우 @capgo/capacitor-updater 사용하기에서, Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor 플러그인 구현 상세 내용에 대해서는, 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 상세 내용에 대해서는, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우에 대해서는.