Langkapi ke konten utama
Kembali ke plugin
@capgo/capacitor-tugas-latar
Tutorial
@capgo/capacitor-tugas-latar

Tugas Latar

Jadwalkan tugas fetch latar belakang berulang pada iOS dan Android dengan registrasi tugas Expo-style

Panduan

Tutorial Mengenai Tugas Latar Belakang

Tes di Perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Pratinjau QR Tugas Latar Belakang plugin code

Menggunakan @capgo/capacitor-tugas-latar-belakang

Jadwalkan pekerjaan fetch latar belakang berkala dalam aplikasi Capacitor dengan tugas bernama, pendaftaran yang berlangsung, pengecekan status, penghapusan pendaftaran, dan trigger pengembangan. Plugin ini menggunakan Android WorkManager dan iOS BGTaskScheduler.

Pasang

npm install @capgo/capacitor-background-task
npx cap sync

Pengaturan iOS

Tambahkan dukungan pengolahan latar belakang ke ios/App/App/Info.plist:

<key>UIBackgroundModes</key>
<array>
  <string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
  <string>app.capgo.backgroundtask.processing</string>
</array>

Lalu jalankan:

npx cap sync ios

Apa yang Dapat Plugin Ini Sampaikan

  • defineTask - Tentukan panggilan JavaScript untuk tugas bernama.
  • registerTaskAsync - Simpan dan jadwalkan tugas berkala.
  • unregisterTaskAsync - Batalkan satu tugas.
  • isTaskRegisteredAsync - Periksa keadaan pendaftaran satu tugas.
  • getRegisteredTasksAsync - Daftar nama tugas yang terdaftar.
  • getStatusAsync - Periksa ketersediaan tugas latar belakang native.
  • triggerTaskWorkerForTestingAsync - Aktifkan tugas yang terdaftar secara langsung untuk pengembangan.
  • addExpirationListener - Reaksi ketika iOS mengakhiri tugas.

- Contoh Penggunaan

- Tentukan tugas di lingkungan modul sehingga tersedia ketika OS mengaktifkan aplikasi:

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

- Periksa status dan nama tugas yang terdaftar:

const status = await BackgroundTask.getStatusAsync();
const tasks = await BackgroundTask.getRegisteredTasksAsync();

console.log({ status, tasks });

- Aktifkan jalankan pengembangan:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

- Batalkan tugas:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

- Catatan Platform

  • - Jadwal tugas latar belakang adalah peluang, bukan timer tepat.
  • - Pekerjaan periodik Android memiliki interval minimum 15 menit.
  • iOS menganggap minimumInterval sebagai tanggal mulai terdahulu dan mungkin dijalankan lebih lanjut.
  • Tes pengolahan latar belakang iOS pada perangkat fisik.

Panduan Lengkap

Teruskan dari Menggunakan @capgo/capacitor-background-task

Jika Anda menggunakan Menggunakan @capgo/capacitor-background-task untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/capacitor-background-task untuk detail implementasi di @capgo/capacitor-background-task, Mulai untuk detail implementasi di Mulai, Direktori Plugin Capgo untuk detail proses produk di Direktori Plugin Capgo, Plugin-Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin-Plugin Capacitor oleh Capgo, dan Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin.