Lompat ke konten utama
@capgo/capacitor-task Latar API Perangkat Sumber Terbuka

Tugas Latar Belakang Plugin Capacitor

Paket latar belakang jadwal untuk iOS dan Android dengan registrasi tugas Expo

Install

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

Panduan

Cara Menggunakan Tugas Latar Belakang di Capacitor

Uji di Perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Tautan QR Pratinjau Plugin Tugas Latar Belakang code

Menggunakan @capgo/capacitor-tugas-latar-belakang

Jadwalkan pengambilan latar belakang berulang dalam aplikasi Capacitor dengan tugas yang dinamis, pendaftaran yang persisten, pengecekan status, penghapusan pendaftaran, dan trigger pengembangan. Plugin ini menggunakan Android WorkManager dan iOS BGTaskScheduler.

Install

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 yang dinamis.
  • registerTaskAsync - Tahan dan jadwalkan tugas berkala.
  • unregisterTaskAsync - Batalkan satu tugas.
  • isTaskRegisteredAsync - Periksa status pendaftaran satu tugas.
  • getRegisteredTasksAsync - Daftar nama tugas yang didaftarkan.
  • getStatusAsync - Periksa ketersediaan tugas latar belakang native.
  • triggerTaskWorkerForTestingAsync - Aktifkan tugas yang didaftarkan 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 didaftarkan:

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 bersifat opportunis, bukan timer tepat.
  • Android periodic work memiliki interval minimum 15 menit.
  • iOS menganggap minimumInterval sebagai tanggal mulai tercepat dan mungkin berjalan lebih lambat.
  • Uji coba pengolahan latar belakang iOS pada perangkat fisik.

Referensi Lengkap

Teruskan dari Menggunakan @capgo/capacitor-tugas-latar-belakang

Jika Anda menggunakan Gunakan @capgo/capacitor-background-task untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/capacitor-background-task untuk detail implementasi di @capgo/capacitor-background-task, Panduan Awal untuk detail implementasi di Panduan Awal, Daftar Plugin Capgo untuk alur kerja produk di Daftar 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.

FAQ

FAQ Plugin Tugas Latar Belakang

Bagaimana cara saya menginstal plugin Task Latar Belakang di sebuah aplikasi Capacitor?

Jalankan &quot;bun add @capgo/capacitor-background-task&quot; (atau &quot;npm install @capgo/capacitor-background-task&quot;), kemudian jalankan &quot;bunx cap sync&quot; agar proyek iOS dan Android dapat menangkap native code. Import dari &quot;@capgo/capacitor-background-task&quot; di aplikasi code.

Apakah @capgo/capacitor-background-task berfungsi dengan React, Vue dan Angular?

Ya. Task Latar Belakang adalah sebuah paket Capacitor, sehingga berfungsi dengan semua framework web yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte dan JavaScript biasa.

Versi Capacitor mana yang didukung oleh @capgo/capacitor-background-task?

Capgo plugin mengikuti versi utama Capacitor: gunakan versi plugin utama yang sesuai dengan versi utama Capacitor (misalnya plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub menampilkan versi yang masih dipelihara.

Apakah @capgo/capacitor-background-task gratis dan terbuka sumber?

Ya. Sumber code publik di GitHub di https://github.com/Cap-go/capacitor-background-task/ dan paketnya gratis untuk diinstal dari npm. Laporan bug dan permintaan pull welcome.

Dapatkah saya memperbarui code yang menggunakan Task Latar Belakang tanpa melalui tinjauan App Store?

Menginstal atau mengupgrade plugin mengubah native code, sehingga memerlukan build aplikasi baru. Setelah itu, perubahan JavaScript, HTML dan CSS yang memanggil plugin dapat dikirimkan langsung dengan Capgo live updates.

Kirim Perubahan Tugas Latar Belakang tanpa Menunggu Tinjauan Aplikasi

Setelah plugin masuk ke dalam toko aplikasi Anda, Capgo pembaruan hidup memindahkan perubahan JavaScript, HTML, dan CSS Anda ke pengguna dalam menit-menit.

Mulai dengan Capgo