AppFlow에서 Capgo로 마이그레이션
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
🚦 Ionic에서 Live Updates를 포함한 AppFlow의 상용 제품 지원을 종료한다고 발표했습니다. 기존 프로젝트는 다음 날짜까지 운영할 수 있습니다. 2027년 12월 31일하지만 신규 고객 유치는 중단되며 새로운 기능도 계획되어 있지 않습니다. 이 가이드는 Capgo로 마이그레이션하는 데 필요한 단계와 이를 통해 얻을 수 있는 네이티브 자동화 기능을 안내합니다.
마이그레이션 개요
“마이그레이션 개요” 섹션Capgo는 채널 관리, 번들 보관, 롤백, 분석 및 CLI 업로드를 대신 처리합니다. 마이그레이션은 플러그인을 설치하고, CapacitorUpdater.notifyAppReady()함수를 호출한 뒤, 필요한 경우 선택적인 수동 제어 설정을 구성하는 과정으로 요약됩니다. 아래 섹션에서 각 작업을 단계별로 설명합니다.
단계 0 – 현재 AppFlow 설정 기록하기
“단계 0 – 현재 AppFlow 설정 기록하기” 섹션- AppFlow의 다음 항목을 기록하세요: App ID, 기존 채널 및 서명 키(signing keys).
- 보관하려는 번들 히스토리가 있다면 내보내기(export) 하세요.
- GitHub Actions 또는 다른 CI 제공업체를 사용하는 경우, 해당 파이프라인을 그대로 유지하세요. Capgo에서도 문제없이 작동합니다.
1단계 – AppFlow SDK를 Capgo로 교체
“단계 1 – AppFlow SDK를 Capgo로 교체하기” 섹션npm uninstall @capacitor/live-updatesnpm install @capgo/capacitor-updaternpx cap sync이게 전부입니다. Capgo가 iOS와 Android 모두의 네이티브 code을 번들링하므로 별도의 JavaScript 헬퍼는 필요 없습니다.
2단계 – 최소 설정 (수동 입력 불필요)
“2단계 – 최소 설정 (수동 입력 불필요)” 섹션기존 설정 블록은 매우 방대합니다. Capgo가 프로젝트와 채널을 자동으로 감지하므로, 최소 설정은 다음과 같습니다:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, }, },}
export default config설정 빠른 참조
“설정 빠른 참조” 섹션| Ionic AppFlow 설정 | Capgo 대응 기능 | 설정해야 하나요? |
|---|---|---|
appId | Capgo 대시보드에서 관리됨 | 프로젝트 생성 시 자동으로 제공됩니다 |
channel / defaultChannel | dashboard/API 내 채널 규칙 | 선택 사항(오버라이드); 기본값은 서버에서 가져옵니다. 자세한 내용은 버전 타겟팅 다중 버전 전략을 참조하세요 |
autoUpdateMethod | autoUpdate: true | 기본적으로 활성화됨 |
maxVersions | 보관 정책(Retention policy) | 중앙에서 설정 (기본 1개월, 최대 24개월) |
enabled | 요구되지 않음 | Capgo를 통해 채널별 사용 여부 전환 |
3단계 – 호출 notifyAppReady() (유일하게 필수인 hook)
“3단계 – notifyAppReady() 호출 (필수 유일한 훅)” 섹션Ionic 가이드에서는 다음과 같이 연결합니다. sync, download, 그리고 reload, 그 다음 스플래시 화면을 수동으로 숨깁니다. Capgo는 이 작업을 네이티브로 수행합니다. 앱이 준비되었는지 확인만 하면 됩니다:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()만약 확인 신호가 오지 않으면, Capgo가 자동으로 번들을 롤백합니다.
끝입니다. Capgo가 백그라운드 체크, 스플래시 가시성, 롤백을 모두 알아서 처리합니다.
선택 사항: 스플래시 화면이 숨겨지기 전에 로직 실행
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Log diagnostics or run custom code if needed SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()4단계 – 업데이트 전략 수정
“4단계 – 업데이트 전략 매핑” 섹션AppFlow는 세 가지 전략을 설명합니다. Capgo에서는 다음과 같이 매핑됩니다:
백그라운드 (기본값)
“백그라운드 (기본값)” 섹션- AppFlow는: 설정
autoUpdateMethod = background, 호출sync()수동으로. - Capgo: 기본적으로 활성화됨. JavaScript 불필요.
항상 최신 버전
“항상 최신 버전” 섹션- AppFlow는: 추가
App.addListener('resume')다운로드 및 리로드를 수행하는 핸들러입니다. - Capgo: auto-update는 이미 resume 시점에 실행됩니다. 커스텀 타이밍 윈도우가 필요한 경우에만 핸들러를 추가하세요.
선택 사항: 수동 resume 체크
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const bundle = await CapacitorUpdater.download() if (bundle) { await CapacitorUpdater.set({ id: bundle.id }) }})강제 업데이트
“Force update” 섹션- AppFlow는: 사용자에게 프롬프트를 띄우고 호출합니다.
reload(). - Capgo: 대시보드에서 번들을 “mandatory”로 설정한 다음, 다음을 리스닝합니다.
majorAvailableevent (emitted afternotifyAppReady()) 앱 내에서 사용자에게 프롬프트를 띄우거나 강제 업데이트를 실행합니다.
5단계 – API 호출 매핑
“5단계 – API 호출 매핑” 섹션| AppFlow 메서드 | Capgo 대응 기능 | 필요한가요? |
|---|---|---|
LiveUpdates.sync() | 자동으로 처리됨 | Capgo의 네이티브 자동 업데이트는 수동 sync 호출 없이 실행됩니다 |
LiveUpdates.download() | CapacitorUpdater.download() | 커스텀 플로우 사용 시 선택 사항 |
LiveUpdates.reload() | CapacitorUpdater.set() | 선택 사항; 대시보드 토글로 강제 업데이트를 제어합니다 |
LiveUpdates.getVersion() | CapacitorUpdater.current() | 선택적 진단 기능 |
6단계 – Capgo CLI 또는 API로 배포
“6단계 – Capgo CLI 또는 API를 사용한 배포” 섹션Capgo CLI 또는 API로 번들을 업로드하여 마이그레이션을 완료하세요. 기존에 작성했던 스크립트 방식과 유사하지만, 이제는 다음과 같은 네이티브 보호 기능이 포함됩니다:
capgo login # authenticate oncecapgo bundle upload \ --path dist \ --channel production # automatically tags platform/version버전별 배포 (AppFlow 방식)
“버전별 배포 (AppFlow와 유사)” 섹션특정 네이티브 버전을 타겟팅해야 하는 경우 (AppFlow의 네이티브 버전 잠금 기능과 유사):
# Only deliver to devices on native version 2.0.0 or higher# Channel must use metadata strategy: --disable-auto-update metadatacapgo bundle upload \ --path dist \ --channel production \ --min-update-version "2.0.0"
# Use channels for different major versionscapgo bundle upload --channel v2 # for app version 2.xcapgo bundle upload --channel v3 # for app version 3.x참고하세요: 예제 앱의 버전 타겟팅 가이드 상세 전략을 확인해 보세요.
Capgo 자동 기능:
- 모든 설치 건에 대해 디바이스 레벨 감사 로그를 유지합니다.
- 플랜 한도에 도달하기 전 미리 이메일 알림을 보냅니다.
- 릴리스 도중 차단되지 않도록 버스트 크레딧을 제공합니다.
- 전 세계 18개 지역의 지연 시간 메트릭을 아래에서 확인하세요: status.capgo.app/history.
Ionic Enterprise 플러그인
“Ionic enterprise plugins” 섹션Ionic 스택에서 enterprise plugins를 사용하는 경우, 아래의 맞춤형 마이그레이션 문서를 확인하세요. 각 가이드에는 Capgo 대체 방법과 다음 단계가 안내되어 있습니다.
자주 묻는 질문
“자주 묻는 질문” 섹션AppFlow는 왜 Live Updates를 종료하나요?
“AppFlow는 왜 Live Updates를 종료하나요?” 섹션Ionic은 자사의 오픈소스 프레임워크에 집중하기 위해 AppFlow를 포함한 상용 제품을 중단할 예정입니다. 기존 고객은 Live Updates를 다음 날짜까지 계속 사용할 수 있습니다. 2027년 12월 31일까지는 사용할 수 있지만, 새로운 기능이나 신규 고객은 받지 않습니다. Capgo이 전용 네이티브 OTA 플랫폼으로 그 공백을 메웁니다.
마이그레이션은 얼마나 걸리나요?
“마이그레이션은 얼마나 걸리나요?” 섹션대부분의 팀은 하루 안에 마이그레이션을 완료합니다. channel, deployment, release rule 같은 개념이 그대로 매핑되며, 저희 팀이 문서와 직접 지원을 제공합니다. 많은 경우 플러그인을 설치하고 호출한 뒤, notifyAppReady()첫 번째 bundle을 업로드하기만 하면 됩니다.
비용을 절감할 수 있을까요?
“비용을 절감할 수 있나요?” 섹션네. AppFlow Live Update는 월 $499부터 시작하지만,Capgo는 월 $14부터 시작하며, 사용량 기반 요금제를 통해 MAU당 약 $0.001 수준까지낮아집니다. 또한 암호화, 자동 롤백, 전 세계 지연 시간 모니터링 기능도 제공됩니다.
언제 마이그레이션해야 하나요?
“언제 마이그레이션해야 하나요?” 섹션AppFlow가 현재 유지 관리 모드에 있으므로, 조기에 마이그레이션하면 지속적인 Capgo 혁신 기술을 활용할 수 있습니다. 배포 일정에 맞춰 전환하는 것을 권장합니다. 저희 엔지니어링 팀이 CI/CD 및 배포 프로세스에 차질이 없도록 전환 계획을 도와드립니다.
추가 리소스
“추가 리소스” 섹션- 버전 타겟팅 가이드 - AppFlow 방식의 버전 매칭 전략 심층 분석
- 주요 변경 사항 - 채널을 활용한 메이저 버전 업데이트 관리
- 채널 관리 - 채널 설정 전체 레퍼런스
도움이 필요하신가요?
“도움이 필요하신가요?” 섹션- 마이그레이션 세션을 예약하세요: book.capgo.app/demo
- 커뮤니티 참여하기: Capgo Discord
- 이슈 트래킹 및 기능 요청: github.com/Cap-go/capacitor-updater
Capgo는 native delta updates, 암호화된 bundle, 지속적인 혁신이 필요한 엔터프라이즈를 위해 설계되었습니다. 마이그레이션 후에는 AppFlow glue code를 삭제하고, native automation에 의존하여 중단 없이 서비스를 배포할 수 있습니다.
다음 단계: AppFlow에서 Capgo로 마이그레이션하기
“AppFlow에서 Capgo로 마이그레이션하기 다음 단계” 섹션사용 중이라면 AppFlow에서 Capgo로 마이그레이션 마이그레이션과 엔터프라이즈 운영을 계획하려면 다음과 연결하세요: Capgo 엔터프라이즈 Capgo Enterprise의 제품 워크플로우를 위해, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우를 위해, Capgo 대안 Capgo Alternatives의 제품 워크플로우용, Capgo 컨설팅 Capgo Consulting의 제품 워크플로우용, Capgo 프리미엄 지원 Capgo Premium Support의 제품 워크플로우용.