내용으로 건너뛰기

백그라운드 작업 __CAPGO_KEEP_0__ 저장소

GitHub

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

설치

설치

Capgo의 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 설정

설치

Capgo의 AI-assisted 설정을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 __CAPGO_KEEP_0__ 기능을 추가하려면 다음 명령어를 사용하세요: (iOS 설정은 플랫폼별로 다르므로, iOS 설정에 대한 자세한 지침은 Capgo의 공식 문서를 참조하세요.) 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';

작업 정의

작업 정의

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

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

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

Section titled “테스트 실행”

await BackgroundTask.triggerTaskWorkerForTestingAsync();

등록 취소

등록 취소란
await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

iOS 만료

iOS 만료란

iOS는 JavaScript 작업이 완료되기 전에 백그라운드 작업을 중단할 수 있습니다. cleanup 또는 checkpointing이 필요한 경우 만료 이벤트를 듣는 것이 좋습니다.

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

리액트 네이티브 백그라운드 작업 호환성

리액트 네이티브 백그라운드 작업 호환성란

이 플러그인은 앱이 Capacitor로 이전하는 경우에 작은 호환성 layer를 제공합니다. 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,
});
  • 배경 스케줄링은 정확하지 않습니다.
  • 작업을 짧고 idempotent 하게 유지하세요.
  • 반환하기 전에 필요한 모든 상태를 저장하세요. BackgroundTaskResult.Success.
  • 사용자에게 보이는 마감일이나 알람에 의존하지 마세요.

Getting Started로 계속 진행하세요.

Getting Started를 사용하여

자연 플러그인 작업을 계획하고 있습니다. 그것을 Using @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-background-task Using @capgo/capacitor-background-task Using @capgo/capacitor-background-task Capgo 플러그인 디렉토리 Capgo 제품 워크플로우를 위한 Capgo 플러그인 디렉토리 Capacitor Capgo 플러그인 Capgo 제품 워크플로우를 위한 Capacitor Capgo 플러그인 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 세부 사항, 및 아이오닉 엔터프라이즈 플러그인 대안 Capgo 제품 워크플로우를 위한 아이오닉 엔터프라이즈 플러그인 대안