Langsung ke konten utama
@capgo/capacitor-asset-cache File & Penyimpanan Open source

Cache Aset plugin Capacitor

Cache gambar dan video CDN di penyimpanan aplikasi persisten dan hubungkan sebagai sumber media lokal

Instal

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

Panduan

Cara menggunakan Asset Cache di Capacitor

Menggunakan @capgo/capacitor-asset-cache

@capgo/capacitor-asset-cache menyimpan gambar dan video CDN berukuran besar di penyimpanan persisten milik aplikasi, lalu mengembalikan URL sumber lokal untuk webview Capacitor.

Instal

npm install @capgo/capacitor-asset-cache
npx cap sync

Apa yang Diekspos Plugin Ini

  • bind - Hubungkan elemen gambar atau video ke sumber aset lokal dan perbarui saat siap.
  • src - Mengembalikan string sumber lokal setelah aset tersedia secara lokal.
  • resolve - Mengembalikan sumber lokal beserta metadata cache.
  • configure - Atur default CDN dan perilaku revalidasi.
  • get, list, remove, clear, dan getCacheSize - Kelola cache secara eksplisit saat dibutuhkan.

Contoh Penggunaan

Konfigurasi CDN sekali, lalu hubungkan elemen menggunakan path relatif:

import { AssetCache } from '@capgo/capacitor-asset-cache';

AssetCache.configure({
  cdnUrl: 'https://cdn.example.com/assets/',
  revalidate: {
    strategy: 'ttl',
    maxAgeSeconds: 86400,
  },
});

const hero = document.querySelector<HTMLImageElement>('#hero');

if (hero) {
  AssetCache.bind(hero, 'images/hero.jpg');
}

Elemen akan mendapatkan data-asset-cache-state="loading" saat native fetch berjalan, lalu menerima URL sumber lokal dan beralih ke ready.

img[data-asset-cache-state='loading'],
video[data-asset-cache-state='loading'] {
  opacity: 0.45;
}

Aset Terproteksi

Plugin mengirimkan header saat mengambil atau melakukan revalidasi file jarak jauh. Elemen web tetap hanya menerima URL sumber lokal.

const src = await AssetCache.src('private/videos/intro.mp4', {
  cdnUrl: 'https://cdn.example.com/assets/',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});

Tanpa CDN Base URL

Gunakan URL absolut jika Anda tidak ingin melakukan konfigurasi cdnUrl.

const src = await AssetCache.src('https://cdn.example.com/assets/videos/intro.mp4');

Path relatif memerlukan konfigurasi cdnUrl atau konfigurasi per panggilan cdnUrl.

Catatan penyimpanan

Di iOS, file berada di Application Support dan dikecualikan dari backup iCloud. Di Android, file berada di direktori file internal aplikasi. Sistem tidak menganggap file ini sebagai cache yang bisa dibuang, tetapi uninstall, penghapusan data aplikasi, clear(), dan remove() tetap menghapusnya.

Referensi Lengkap

Lanjut ke Menggunakan @capgo/capacitor-asset-cache

Jika Anda menggunakan Menggunakan @capgo/capacitor-asset-cache untuk merencanakan pemuatan media persisten, hubungkan dengan @capgo/capacitor-asset-cache untuk detail implementasi, Panduan Memulai untuk detail implementasi, @capgo/capacitor-downloader untuk download di background secara eksplisit, dan @capgo/capacitor-file untuk akses file lokal secara umum.

FAQ

FAQ plugin Asset Cache

Bagaimana cara install plugin Asset Cache di aplikasi Capacitor?

Jalankan "bun add @capgo/capacitor-asset-cache" (atau "npm install @capgo/capacitor-asset-cache"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mengenali code native. Import dari "@capgo/capacitor-asset-cache" di dalam code aplikasi Anda.

Apakah @capgo/capacitor-asset-cache mendukung React, Vue, dan Angular?

Ya. Asset Cache adalah package Capacitor, jadi bisa dipakai dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript biasa.

Versi Capacitor mana yang didukung oleh @capgo/capacitor-asset-cache?

Plugin Capgo mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor Anda (contoh: plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang masih di-maintain.

Apakah @capgo/capacitor-asset-cache gratis dan open source?

Ya. Kode sumber code terbuka untuk publik di GitHub pada https://github.com/Cap-go/capacitor-asset-cache/ dan package-nya gratis diinstal dari npm. Laporan bug dan pull request sangat kami terima.

Bisakah saya update code yang menggunakan Asset Cache tanpa review App Store?

Instalasi atau upgrade plugin akan mengubah native code, jadi butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin bisa langsung dikirim lewat live updates Capgo.

Rilis perubahan Asset Cache tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, live updates Capgo akan mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo