메인 콘텐츠로 건너뛰기
@capgo/capacitor-배경 작업 기기 API 오픈 소스

배경 작업 Capacitor 플러그인

iOS 및 Android에서 Expo-style 작업 등록과 함께 주기적인 배경 가져오기 작업을 스케줄링합니다.

설치

bun add @capgo/capacitor-background-task bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-background-task
  • pnpm add @capgo/capacitor-background-task
  • yarn add @capgo/capacitor-background-task

가이드

백그라운드 태스크를 사용하는 방법은 Capacitor에서

기기에서 테스트

다운로드 Capgo 앱, 그리고 QR code를 스캔하세요.

배경 작업 플러그인 미리보기 QR code

@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는 minimumInterval iOS 배경 처리를 테스트하려면 물리적 장치를 사용하세요.
  • 전체 참조

__CAPGO_KEEP_0__:

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__

FAQ

Background Task 플러그인 FAQ

Capacitor Background Task 플러그인을 Capacitor 앱에 설치하는 방법은 무엇입니까?

Run &quot;bun add @capgo/capacitor-background-task&quot; (또는 &quot;npm install @capgo/capacitor-background-task&quot;), 그리고 iOS 및 Android 프로젝트가 네이티브 code를 인식하도록 하기 위해 &quot;bunx cap sync&quot;를 실행하세요. 그리고 앱 code에서 &quot;@capgo/capacitor-background-task&quot;을 임포트하세요.

@capgo/capacitor-background-task는 React, Vue 및 Angular과 함께 작동합니까?

네. Background Task는 Capacitor 패키지이므로, Ionic, React, Vue, Angular, Svelte 및 일반 JavaScript와 같은 웹 프레임워크가 Capacitor 내부에서 실행되는 경우에 작동합니다.

Capacitor Capacitor 버전은 @capgo/capacitor-background-task가 지원합니까?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

@capgo/capacitor-background-task는 무료이며 오픈 소스입니까?

네. code의 소스는 https://github.com/Cap-go/capacitor-background-task/에서 GitHub에 공개되어 있으며, npm에서 무료로 설치할 수 있습니다. 버그 보고서와 Pull Request는 환영합니다.

배경 작업을 사용하는 앱을 업데이트할 수 있나요? code

code 플러그인을 설치하거나 업그레이드하면 네이티브 code이 변경되므로 새로운 스토어 빌드를 필요로 합니다. 그 후에 플러그인을 호출하는 JavaScript, HTML 및 CSS 변경 사항은 Capgo 라이브 업데이트와 함께 즉시 배포할 수 있습니다.

배경 작업의 변경 사항을 앱 리뷰를 기다리지 않고 배포

플러그인을 스토어 빌드에 추가한 후, Capgo 라이브 업데이트 기능을 사용하면 사용자에게 몇 분만에 자바스크립트, HTML 및 CSS 변경 사항을 푸시할 수 있습니다.

Capgo로 시작하세요