Getting Started
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-background-task`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/background-task/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
@capgo/capacitor-background-task Capacitor 앱이 주기적인 작업, 캐시 갱신, 분석 데이터 전송 및 다른 배경 데이터 가져오기 작업을 위해 등록할 수 있도록 합니다.
설치
설치npm install @capgo/capacitor-background-tasknpx cap synciOS 설정
설치__CAPGO_KEEP_0__ 앱에 배경 처리 모드 및 허용된 작업 식별자를 추가하십시오. 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 iosImport
Import라는 제목의 섹션import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';작업을 정의하세요
작업을 정의하는 섹션 ‘Define A Task’모듈 스코프에서 콜백을 정의하여 앱이 운영 체제에 의해 시작되면 즉시 등록되도록 하세요.
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; }});스케줄을 등록하세요
스케줄을 등록하는 섹션 ‘Register The Schedule’앱이 충분한 컨텍스트를 갖고 배경 작업을 활성화할 수 있을 때 호출하세요. registerTaskAsync 클립보드에 복사
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval 상태 확인
상태 확인
클립보드에 복사const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });클립보드에 복사
await BackgroundTask.triggerTaskWorkerForTestingAsync();클립보드에 복사
Task를 해제하는 방법await BackgroundTask.unregisterTaskAsync(SYNC_TASK);iOS 만료
Section titled “iOS 만료”iOS는 JavaScript 작업이 완료되기 전에 백그라운드 작업을 중단할 수 있습니다. cleanup 또는 checkpointing이 중요한 경우 만료 이벤트를 듣는 것이 좋습니다.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();리액트 네이티브 백그라운드 작업 호환성
Section titled “리액트 네이티브 백그라운드 작업 호환성”플러그인은 앱이 Capacitor로 마이그레이션하는 경우에도 작은 호환성层를 노출합니다. react-native-background-task.
import { BackgroundTask } from '@capgo/capacitor-background-task';
BackgroundTask.define(async () => { await fetch('https://api.example.com/sync', { method: 'POST' });});
await BackgroundTask.schedule({ period: 1800,});프로덕션 노트
Section titled “프로덕션 노트”- 기회주의적 스케줄링은 정확하지 않습니다.
- 작업을 짧고 idempotent 하게 유지하세요.
- __CAPGO_KEEP_0__ 상태를 저장한 후 반환하세요.
BackgroundTaskResult.Success. - 사용자에게 보이는 마감일이나 알람을 위해 배경 작업에 의존하지 마세요.
Getting Started에서 계속하세요.
Getting Started에서 계속하세요.Capacitor를 사용하는 경우 Getting Started Capacitor를 사용하는 경우 native plugin 작업을 계획하는 경우, @capgo/capacitor-background-task를 사용하여 Using @capgo/capacitor-background-task에서 native capability를 사용하는 경우 Capgo Plugin Directory 제품 워크플로우에 대한 Capgo 플러그인 디렉토리에서 Capacitor 플러그인에 대한 Capgo 제품 워크플로우에 대한 Capacitor 플러그인에 대한 Capgo 플러그인을 추가하거나 업데이트 플러그인을 추가하거나 업데이트에 대한 구현 세부 정보 아이오닉 엔터프라이즈 플러그인 대체 제품 워크플로우에 대한 아이오닉 엔터프라이즈 플러그인 대체