@capgo/capacitor-배경 작업 사용
Capacitor 앱에서 주기적인 배경 fetch 작업을 스케줄링하고 이름이 지정된 작업, 지속적인 등록, 상태 확인, 등록 해제, 개발 트리거를 사용하세요. 플러그인은 Android WorkManager 및 iOS BGTaskScheduler를 사용합니다.
설치
npm install @capgo/capacitor-background-task
npx cap sync
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- 이름이 지정된 작업에 대한 자바스크립트 콜백을 정의하세요.registerTaskAsync- 주기적인 작업을 저장하고 예약하세요.unregisterTaskAsync- 하나의 작업을 취소하세요.isTaskRegisteredAsync- 하나의 작업의 등록 상태를 확인하세요.getRegisteredTasksAsync- 등록된 작업 이름 목록을 확인하세요.getStatusAsync- 네이티브 백그라운드 작업 사용 가능 여부를 확인하세요.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);
플랫폼 설명
- 배경 작업 스케줄은 정확한 타이머가 아닌 기회주의적입니다.
- Android는 15분의 최소 간격을 가집니다.
- iOS는
minimumIntervaliOS 배경 처리를 테스트하려면 물리적 장치를 사용하세요. - 전체 참조
__CAPGO_KEEP_0__:
- GitHub: https://github.com/Cap-go/capacitor-background-task/
- 문서: /docs/plugins/background-task/
Using @capgo/capacitor-background-task
이러한 기능을 사용 중이라면 @capgo/capacitor 백그라운드 작업 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-background-task 을 연결하여 @capgo/capacitor-background-task Capacitor @capgo/capacitor-배경 작업 구현 세부 사항을 위해 시작하기 Getting Started Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리 Capacitor Capgo 플러그인 Capacitor 플러그인에 대한 구현 세부 사항은 Capgo 플러그인에 의해 제공됩니다. __CAPGO_KEEP_0__ 플러그인 __CAPGO_KEEP_1__