내용으로 건너뛰기

백그라운드 작업 __CAPGO_KEEP_0__ 저장소

GitHub

@capgo/capacitor-background-task 이 플러그인은 Capacitor 앱이 주기적인 작업, 캐시 갱신, 분석 데이터 전송 및 다른 배경 데이터 가져오기 작업을 위해 등록할 수 있도록 합니다.

AI-assisted 설치를 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 기능을 추가하려면 다음 명령어를 사용하세요:

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

그다음에 다음 프롬프트를 사용하세요:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.

만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래의 플랫폼별 지침을 따르세요:

터미널 창
npm install @capgo/capacitor-background-task
npx cap sync

배경 처리 모드와 허용된 작업 식별자를 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

수입

수입
import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';

작업 callback을 모듈 스코프에서 정의하여 앱이 운영 체제에 의해 시작되면 즉시 등록되도록 하세요.

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;
}
});

스케줄 등록

등록 스케줄

호출 registerTaskAsync 앱이 충분한 맥락을 갖고 백그라운드 작업을 활성화할 수 있을 때.

await BackgroundTask.registerTaskAsync(SYNC_TASK, {
minimumInterval: 30,
requiresNetwork: true,
});

minimumInterval 분 단위입니다. 안드로이드는 최소 15분을 강제로 적용하고, iOS는 값을 가장 빠른 시작 날짜로 처리하여 나중에 실행할 수 있습니다.

상태 확인

상태 확인
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();

__CAPGO_KEEP_0__

__CAPGO_KEEP_1__
await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

const expiration = await BackgroundTask.addExpirationListener((event) => {
console.warn('Background task expired', event.taskName, event.taskId);
});
await expiration.remove();

__CAPGO_KEEP_7__

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__ 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,
});

__CAPGO_KEEP_11__

제작 참고 사항
  • 배경 스케줄링은 정확하지 않습니다.
  • 작업을 짧고 idempotent 하게 유지하세요.
  • 반환하기 전에 필요한 모든 상태를 저장하세요. BackgroundTaskResult.Success.
  • 사용자에게 보이는 마감일이나 알람에 의존하지 마세요.

시작하기

시작하기

이러한 기능을 사용하고 있다면 시작하기 native 플러그인 작업을 계획하기 위해 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-배경 작업을 사용하세요. Using @capgo/capacitor-배경 작업을 사용하여 native 기능을 연결하세요. native 플러그인 작업을 계획하기 위해 @capgo/capacitor-배경 작업을 사용하세요. Capgo 플러그인 디렉토리 Capgo 제품 워크플로우에 대한 플러그인 디렉토리 Capacitor Capgo 플러그인 Capacitor 플러그인 Capgo 구현 세부 사항 __CAPGO_KEEP_0__ 플러그인 추가 또는 업데이트 __CAPGO_KEEP_0__ 플러그인 추가 또는 업데이트 구현 세부 사항 __CAPGO_KEEP_0__ 아이오닉 엔터프라이즈 플러그인 대체 __CAPGO_KEEP_0__ 아이오닉 엔터프라이즈 플러그인 대체 제품 워크플로우