__CAPGO_KEEP_0__
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 지시를 복사합니다.
When you release an update to your Capgo app, you probably want your users to receive that update as soon as possible. But you also don’t want to disrupt their experience by forcing them to wait for a download or restart the app in the middle of a session.
Capgo의 업데이트 동작은 업데이트를 빠르게 제공하는 것과 사용자들의 경험을 최소화하는 것 사이의 균형을 맞추기 위해 설계되었습니다.
기본 업데이트 흐름
기본 업데이트 흐름기본적으로, Capgo는 앱 업데이트를 어떻게 처리하는지 다음과 같이 설명합니다.
-
앱이 전면에 표시될 때, Capgo 플러그인은 새로운 업데이트가 있는지 확인합니다. 앱이 열려 있는 동안, 반복 타이머(기본 10분)를 통해서도 다시 확인합니다.
periodCheckDelay업데이트가 발견되면, 사용자가 현재 앱 버전을 사용하는 동안 배경에서 다운로드가 시작됩니다. -
다운로드가 완료되면, __CAPGO_KEEP_0__는 사용자가 앱을 백그라운드에 보내기를 기다립니다.
-
Once the download completes, Capgo waits for the user to background the app.
-
Default Update Flow
이 흐름은 사용자가 항상 최신 버전의 앱을 실행하는 것을 보장하며, 업데이트 알림이나 다운로드를 기다리도록 강제하는 중단 없이 진행됩니다.
이 접근 방식의 이유
Section titled “이 접근 방식의 이유”배경 또는 종료 이벤트에서 업데이트를 적용하는 것은 사용자 경험에 몇 가지 주요 이점을 제공합니다.
-
사용자는 세션 중에 업데이트 알림이나 다운로드를 기다리도록 강제되지 않으며, 앱을 실행하는 경험은 항상 최신 상태로 유지됩니다.
-
업데이트는 세션 사이에 무방비로 적용되므로, 앱을 실행하는 경험은 항상 최신 상태로 유지됩니다.
-
주요 단점은 사용자가 앱을 백그라운드에 보내고 즉시 앱을 다시 시작하면 업데이트가 적용된 사이에 저장되지 않은 상태를 잃을 수 있습니다.
Why This Approach?
To mitigate this, we recommend:
-
앱이 다시 시작될 때 부드럽게 상태를 복원하는 것을 포함하여 자주 상태를 저장하는 것을 추천합니다.
-
앱 상태의 큰 부분을 수정하는 매우 빈번한 업데이트를 피하는 것이 좋습니다.
-
Sensitive 흐름을 위한 업데이트 동작을 개인화하는 것을 고려하는 것이 좋습니다. (아래를 참조하세요).
업데이트가 적용되는 시기를 개인화하는 방법
제목: 업데이트가 적용되는 시기를 개인화하는 방법일부 경우, 업데이트가 적용되는 정확한 시기를 더 제어하고 싶을 수 있습니다. 예를 들어, 사용자가 진행 중인 흐름을 완료하기 전에 업데이트를 설치하거나, 서버 측 변경과 앱 업데이트를 동기화하고 싶을 수 있습니다.
Capgo은 setDelay 업데이트가 설치되기 전에 충족해야 하는 조건을 지정할 수 있는 함수를 제공합니다:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});이 예제는 2023년 6월 1일 이후에 업데이트를 설치하고, 앱이 최소 60초 동안 백그라운드 상태가 된 경우에만 업데이트를 설치합니다.
다음과 같은 지연 조건이 사용할 수 있습니다:
date: __CAPGO_KEEP_0__은 특정 날짜/시간까지 업데이트를 적용하기를 기다립니다.background: 앱이 백그라운드 상태가 되면 최소 지연 시간이 지난 후 업데이트를 적용하기를 기다립니다.nativeVersion: 최소 버전 이상의 네이티브 바이너리가 설치되기까지 업데이트를 적용하기를 기다립니다.kill: 앱이 종료되기까지 업데이트를 적용하기를 기다립니다.
업데이트를 설치할 때 정확히 제어하고 싶다면, 이 조건들을 섞어 사용할 수 있습니다.
For critical updates or apps with very simple state, you may want to apply an update as soon as it’s downloaded, without waiting for a background or kill event. Capgo supports this via the autoUpdate 정책을 Capacitor 설정에서 확인하세요.
autoUpdate 파일에 __CAPGO_KEEP_0__으로 설정되어 있습니다. JavaScript에서 설정하지 마세요. 다음의 값을 지원합니다: capacitor.config.ts file, not in JavaScript code. It supports these values:
false: 자동 업데이트 확인을 비활성화합니다'off'또는true(기본값): 각 전면 검사 시 자동으로 다운로드하고 확인한 다음 앱이 배경으로 이동할 때 업데이트 적용'atBackground': 새로운 설치 또는 네이티브 앱 스토어 업데이트 후 즉시 적용; 그렇지 않으면'atInstall'동작"atBackground"(기본값): 전면 검사 시 자동으로 다운로드하고 확인한 다음 앱이 배경으로 이동할 때 업데이트 적용'onLaunch': 앱이 죽은 상태에서 전면으로 가져와지면 즉시 적용합니다. 첫 번째 확인 후, 업데이트 가 있는지 확인하여 자동으로 적용합니다."atBackground"behavior'always': 전면 전환 시마다 확인하고 업데이트 가 있는 경우 즉시 적용합니다.'onlyDownload': 자동으로 확인하고 다운로드 하며,updateAvailable와 함께 emit합니다. 자동으로 다음 번들 또는 업데이트 를 설정하거나 자동으로 적용하지 않습니다.
Test a Native Build Without Live Updates
Test Native Builds Without Live UpdatesSee Test Native Builds Without Live Updates native 버전, 채널 정책, CI 구성 safeguard에 대해 알아보세요.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Required when using instant apply with autoSplashscreen }, },};
export default config;앱이 전면에 이동할 때마다 __CAPGO_KEEP_0__에 대한 __CAPGO_KEEP_0__ 확인을 수행하고 다운로드가 완료된 경우 확인 중에 업데이트를 즉시 적용하는 경우도 포함하여 사용자가 앱을 활성화하고 있는 경우에도 업데이트를 즉시 적용합니다. autoUpdate: 'always'앱이 열려 있는 동안 Capgo를 제어하는 주기적인 확인은 사용자가 앱을 활성화하고 있는 경우에도 업데이트를 즉시 적용하는 동일한 즉시 적용 동작을 트리거할 수 있습니다. periodCheckDelay native configuration이기 때문에 __CAPGO_KEEP_0__에 대한 즉시 적용 모드는 JavaScript에서 추가적인 처리가 필요합니다.
주의 autoUpdate is a native configuration, instant apply modes require some additional handling in your JavaScript code.
자동으로 다운로드하는 것 없이
다운로드하는 것 없이 자동으로 적용하는 것 없이If you want Capgo to check and download updates automatically but never apply them automatically, use autoUpdate: 'onlyDownload':
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'onlyDownload', }, },};이 모드에서는 플러그인은 updateAvailable 배포본이 다운로드되면 CapacitorUpdater.set() 업데이트를 자동으로 적용하지 않도록 하려면
자동 스플래시 스크린 처리
즉시 적용 모드를 사용하기 쉽게 하기 위해Capgo은 autoSplashscreen __CAPGO_KEEP_0__ (버전 7.6.0부터 사용 가능):
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};만약 autoSplashscreen __CAPGO_KEEP_0__이 활성화되면:
- 업데이트가 적용될 때 스플래시 화면을 자동으로 숨깁니다.
- 업데이트가 필요하지 않으면 스플래시 화면을 자동으로 숨깁니다.
- 이벤트나
appReady__CAPGO_KEEP_0__을 수동으로 호출하지 않아도 됩니다.SplashScreen.hide()
스피드와 효율성을 위해 스플래시 화면을 자동으로 숨기는 기능
스피드와 효율성을 위해 스플래시 화면을 자동으로 숨기는 기능만약 __CAPGO_KEEP_0__을 사용하지 않으려면 활성화된 __CAPGO_KEEP_0__을 비활성화하고 autoSplashscreen __CAPGO_KEEP_0__을 직접 처리할 수 있습니다.
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();The appReady 앱이 초기화 및 대기 중 업데이트를 적용한 후 발생하는 이벤트입니다. 이 시점에서 앱의 UI를 표시할 수 있으며, 사용자가 최신 버전을 볼 수 있도록 보장합니다.
또한 appReady 이벤트를 처리하는 것 외에도, keepUrlPathAfterReload 설정을 true 즉시 적용 모드 사용 시
설정하지 않으면 사용자가 appReady 이벤트를 처리하지 않고 keepUrlPathAfterReload 즉시 적용 모드에서
설정하지 않으면 사용자가
- 즉시 적용 모드의 경우,
autoSplashscreenor manualappReady이벤트 처리). - 사용자가 세션 중간에 불편한 변화가 보일 수 있으므로 앱 상태 또는 UI가 수정되는 경우 업데이트.
- 사용자의 앱 위치가 중간에 잃어버려서
keepUrlPathAfterReload가 설정되지 않은 경우 사용자가 혼란스럽게 될 수 있습니다. - 앱이 부드러운 전환을 보장하기 위해 저장 및 복원된 상태를 신중하게 처리해야 합니다.
instant apply를 활성화하는 경우 다음을 권장합니다.
- Using
autoSplashscreen: true가 가장 단순한 설정을 위해 사용하거나appReady이벤트를 수동으로 처리해야 하는 경우 custom logic가 필요합니다. - 를 설정합니다.
keepUrlPathAfterReloadfor the simplest setup, or manually handling thetrue사용자의 위치를 앱 내에서 유지하기 위해. - 사용자의 진행 상황을 잃지 않도록 앱 상태를 저장하고 복원하는.
- 사용자 경험을 최소화하고 업데이트를 빠르게 제공하기 위해 업데이트의 전환을 최소화하고 사용자 상태를 잃지 않도록 앱의 업데이트 동작을 철저히 테스트합니다.
대부분의 경우, 기본 업데이트 동작이 업데이트를 빠르게 제공하고 사용자에게 최소한의 방해를 주는 최적의 균형을 제공합니다. 하지만 특정한 요구를 가진 앱의 경우, Capgo은 업데이트를 언제 그리고 어떻게 적용할 수 있는 유연성을 제공합니다.
Keep going from Update Behavior
업데이트 동작에서 계속하기업데이트 동작을 사용하여 실시간 업데이트를 계획하고 있으면 업데이트 동작 __CAPGO_KEEP_0__ Live Updates Capgo Live Updates for the product workflow in Capgo Live Updates, 설명 개요에서 구현 세부 정보에 대해 기능 기능에서 구현 세부 정보에 대해 업데이트 유형 업데이트 유형에서 구현 세부 정보에 대해 시작하기 시작하기에서 구현 세부 정보에 대해