@capgo/capacitor-배경 작업 사용
Capacitor 앱에서 이름이 지정된 작업, 지속적인 등록, 상태 확인, 등록 해제, 개발자 트리거를 사용하여 주기적인 배경 fetch 작업을 설치하세요. Android WorkManager와 iOS BGTaskScheduler를 사용하는 플러그인은 배경 작업을 관리합니다.
__CAPGO_KEEP_0__ 설치
npm install @capgo/capacitor-background-task
npx cap sync
iOS 설정
__CAPGO_KEEP_0__을 iOS에 지원하기 위해 ios/App/App/Info.plist:
<key>UIBackgroundModes</key>
<array>
<string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>app.capgo.backgroundtask.processing</string>
</array>
그런 다음 다음 명령어를 실행하세요:
npx cap sync ios
이 플러그인이 제공하는 것
defineTask- 이름이 지정된 작업에 대한 JavaScript 콜백을 정의하세요.registerTaskAsync- 주기적인 작업을 저장하고 스케줄하세요.unregisterTaskAsync- 하나의 작업을 취소하세요.isTaskRegisteredAsync- 하나의 작업의 등록 상태를 확인하세요.getRegisteredTasksAsync- 등록된 작업 이름 목록을 확인하세요.getStatusAsync- iOS에서 백그라운드 작업 사용 가능 여부를 확인하세요.triggerTaskWorkerForTestingAsync- 개발 시에 등록된 작업을 즉시 트리거하세요.addExpirationListener- iOS에서 작업이 만료되었을 때 반응하세요.
예시 사용
모듈 스코프에서 작업을 정의하여 OS가 앱을 깨울 때까지 작업이 사용 가능하도록 하세요.
import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';
const SYNC_TASK = 'sync-offline-data';
BackgroundTask.defineTask(SYNC_TASK, async () => {
try {
await fetch('https://api.example.com/sync', { method: 'POST' });
return BackgroundTaskResult.Success;
} catch {
return BackgroundTaskResult.Failed;
}
});
await BackgroundTask.registerTaskAsync(SYNC_TASK, {
minimumInterval: 30,
requiresNetwork: true,
});
상태를 확인하고 등록된 작업 이름을 확인하세요.
const status = await BackgroundTask.getStatusAsync();
const tasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, tasks });
개발 환경에서 작업을 트리거하세요.
await BackgroundTask.triggerTaskWorkerForTestingAsync();
작업을 취소하세요.
await BackgroundTask.unregisterTaskAsync(SYNC_TASK);
플랫폼 설명
- 배경 작업 스케줄은 정확한 타이머가 아닌 기회주의적입니다.
- 안드로이드의 주기적 작업은 15분의 최소 간격을 가집니다.
- iOS는
minimumInterval를 가장 빠른 시작 날짜로 처리하고 나중에 실행될 수 있습니다. - 실제 장치에서 iOS 배경 처리를 테스트하세요.
전체 참조
- GitHub: github.com/Cap-go/capacitor-background-task/
- 문서: /docs/plugins/background-task/
Using @capgo/capacitor-background-task
Capgo를 사용 중이시면 Using @capgo/capacitor-background-task native 플러그인 작업을 계획하고 싶으시면 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-background-task Capacitor @capgo/capacitor-background-task Capacitor @capgo/capacitor-background-task Getting Started Getting Started Capgo 플러그인 디렉토리 제품 워크플로우를 위한 Capgo 플러그인 디렉토리에서 Capacitor 플러그인에 의해 Capgo 제품 워크플로우를 위한 Capacitor 플러그인에 의해 Capgo의 구현 세부 사항, 그리고 플러그인을 추가하거나 업데이트 플러그인을 추가하거나 업데이트 구현 세부 사항을 위한