내용으로 건너뛰기

Capgo로 Capawesome Cloud에서 이주

⚡️ Capgo 채널, 번들 정리, 롤백, 분석 및 CLI natively 업로드합니다. 이 가이드를 사용하여 마이그레이션을 수행하고 옵션적으로 재생성해야하는 모든 사용자 정의 동작을 다시 만들 수 있습니다.

  1. 이전 Capawesome Cloud 구성 (App ID, 채널, 서명 키, CLI 토큰)을 모아.archive 또는 audit를 위해 나중에 사용할 수 있도록 하십시오.
  2. Capgo 플러그인을 설치하고 Capawesome SDK를 제거한 후 호출하십시오. CapacitorUpdater.notifyAppReady().
  3. 선택적 동작을 구성(수동 다운로드, 번들 핀, 리로드)หาก 오늘날의 흐름에 의존합니다.

Capgo를 사용하기 위해서는 Capgo 에서 Capgo 플러그인을 설치하고 호출하는 것만 필요합니다. CapacitorUpdater.notifyAppReady() Capgo를 사용하기 위해서는 CLI 에서 CLI 플러그인을 설치하고 호출하는 것만 필요합니다. 모든 다른 작업—채널, 번들 정리, 롤백, 분석, 그리고 CLI 자동화—are natively 처리됩니다. 아래 섹션은 각 작업을 직접 설명합니다.

시작하기 전에

시작하기 전에
  • Capgo를 사용하기 위해서는 프로젝트가 이미 Capacitor 5 이상을 사용하고 있어야 합니다.
  • CI/CD에서 번들을 푸시할 계획이라면 Capgo CLI (npm install -g @capgo/cli )를 설치해야 합니다.

Step 1 – Install Capgo and remove the Capawesome SDK

Section titled “Step 1 – Install Capgo and remove the Capawesome SDK”
터미널 창
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

That is the only mandatory swap. Capgo’s native code ships with the plugin; no extra JavaScript helpers are required.

Step 2 – 최소 구성

제 2 단계 – 최소 구성

이전 설정에서는 수십 개의 옵션을 매핑해야했습니다. capacitor.configCapgo은 프로젝트를 자동으로 인식하므로 최소 구성은 다음과 같습니다.

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes
},
},
}
export default config

Capawesome이 수동 플래그 (defaultChannel, autoDeleteBundlesretention 정책 등)로 나열하는 모든 것은 Capgo 대시보드 또는 API에서 관리됩니다. 만약 Capgo의 기본값과 다른 동작을 원한다면 이 키를 오버라이드해야 합니다.

구성 빠른 참조

제 2 단계 – 최소 구성
Capawesome 옵션Capgo 동등 항목이러한 기능을 사용하려면 설정해야 하나요?
appId프로젝트를 생성한 후 Capgo 대시보드에서 가져옵니다.하나의 바이너리에 여러 프로젝트를 사용하는 경우에만
defaultChannelAPI 대시보드에서 채널 규칙을 관리합니다.대부분의 팀은 서버 측에서 이 옵션을 설정합니다.
autoDeleteBundlesautoDeletePrevious: true (기본값)이미 활성화되어 있습니다.
publicKeyCapgo 콘솔에서 관리합니다.키를 수동으로 회전하는 경우에만
maxVersions /retentionBundle 보존 정책기본값은 1개월이며, 최대 24개월로 Capgo에서 중앙 집중식으로 구성됩니다.

Step 3 – __CAPGO_KEEP_0__ 호출 notifyAppReady() (단 하나의 필수적인 훅)

제목: Step 3 – __CAPGO_KEEP_0__ 호출 notifyAppReady() (단 하나의 필수적인 훅)

__CAPGO_KEEP_0__는 이전 워크플로에서 사용자 정의 리스너 (checkForUpdates(), retryDownload(), 스플래시 화면을 숨기기 등)를 숨겨두었습니다. Capgo는 이 작업들을 내부적으로 수행합니다. API을 호출할 필요는 없습니다.

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', () => {
// Run diagnostics or logging if you need to
SplashScreen.hide()
})
CapacitorUpdater.notifyAppReady()

Step 4 – API 호출을 맵핑 (대부분의 옵션)

제목: Step 4 – API 호출을 맵핑 (대부분의 옵션)

In Capgo에서 일반적으로 자동 업데이트기를 실행합니다; 수동 API는 완전한 제어를 원한다면 사용할 수 있습니다.

Capawesome CloudCapgo 동등필요합니까?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()만약 다운로드 워크플로를 직접 구현해야 한다면
LiveUpdate.downloadBundle()CapacitorUpdater.download()선택적: 네이티브 자동 업데이트기가 이미 다운로드를 진행합니다.
LiveUpdate.setNextBundle()CapacitorUpdater.next()선택적: 대시보드가 자동으로 패키지를 핀합니다.
LiveUpdate.reload()CapacitorUpdater.reload()선택적; Capgo은 필수 패키지를 강제로 설치합니다. notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()선택적 진단

네이티브 자동 업데이트기 동작을 유지한다면 Capawesome JavaScript를 완전히 삭제할 수 있습니다.

수동 제어 예시

수동 제어 예시

최신 버블을 다운로드하세요.

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const bundle = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
console.log('Bundle downloaded', bundle?.id)
}
}
캡어웨이 클라우드
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => {
const result = await LiveUpdate.fetchLatestBundle()
if (result.downloadUrl) {
await LiveUpdate.downloadBundle({
bundleId: result.bundleId,
url: result.downloadUrl,
})
console.log('Bundle downloaded')
}
}

다음 버블을 설정하세요.

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
캡어웨이 클라우드
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

다운로드한 버블을 즉시 적용하세요.

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

5단계 - 업데이트 전략: Capgo은 어떻게 처리하는가

5단계 - 업데이트 전략: Capgo은 어떻게 처리하는가

Capawesome은 3가지 전략을 문서화했습니다. 그들은 어떻게 변환되는지 알아보겠습니다.

배경 업데이트

배경 업데이트
  • 이전 워크플로우: code에서 구성하고 수동으로 다운로드를 예약합니다.
  • Capgo컨트리뷰션autoUpdate: true. No additional code required.
  • 이전 워크플로우: add an App.resume 리스너를 추가하고 download: set.
  • Capgocontext
: 백그라운드 자동 업데이트 already performs the check after resume. You only need the manual listener if you want a custom interval.
import { App } from '@capacitor/app'
import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const downloaded = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
if (downloaded) {
await CapacitorUpdater.next({ id: downloaded.id })
}
}
})

클립보드 복사하기

강제 업데이트
  • 이전 워크플로우: wire prompt logic and enforce reload.
  • CapgoCapgo UI의 더 긴 문자열에서 HTML 텍스트 프래그먼트 (부모 키 `submitting_a_pr_to_capgo`). 페이지/영역: Capgo 마케팅 웹사이트. 역할: 웹사이트 복사 문장. 페이지: contributing.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지. majorAvailable : Capgo 대시보드에서 "필수"로 표시된 패키지를 마크하고, notifyAppReady()이벤트 (이벤트가

)가 발생한 후에 사용자에게 앱 내에서 업그레이드하도록 요구하는 기능을 구현합니다.

6단계 - 배포 패키지

6단계 - 배포 패키지 capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.

__CAPGO_KEEP_0__을 사용했지만, __CAPGO_KEEP_1__ 워크플로우와 __CAPGO_KEEP_2__를 통해 배포를 자동화할 수 있습니다.
# Authenticate once (stores a token in your CI environment)
capgo login
# Upload a new bundle (auto-detects platform/version)
capgo bundle upload --path dist --channel production

Capgo은 자동으로 번들 상태를 추적하기 때문에, 또한 다음을 얻을 수 있습니다:

  • 장치 수준의 설치 로그
  • 기본 1 개월치 자동 보존 (24 개월까지 구성 가능)
  • 실시간 지연 메트릭은 status.capgo.app/history.

업그레이드 일정

업그레이드 일정
  • 인벤토리 및 설치: 10 분 (npm install,旧 플러그인 제거)
  • 설정 및 준비: 5분 (notifyAppReady).
  • Sanity checks: 15분 (선택적 수동 테스트 또는 리스너).
  • 첫 번째 배포: 10 minutes with Capgo CLI or CI integration.

: 10분 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 또는 CI 통합.

Capgo support

Capgo 지원

Capgo is built for long-term reliability: native delta updates, encrypted bundles, automatic rollbacks, and analytics that do not require custom JavaScript. Once you migrate you can delete the maintenance-heavy glue and let the platform run updates automatically.

Keep going from Migrate from Capawesome Cloud to Capgo

Section titled “Keep going from Migrate from Capawesome Cloud to Capgo”

Capgo로 마이그레이션하기 Migrate from Capawesome Cloud to Capgo Capgo CI/CD Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds Capgo Native Builds Capgo Integrations Capgo Integrations CI/CD 연동 __CAPGO_KEEP_0__ Actions 연동 GitHub Actions Integration for the implementation detail in GitHub Actions Integration.