Langsung ke konten

@capgo/capacitor-asset-cache

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

Sumber tampilan lokal saja

src, resolve, dan bind hanya mengembalikan sumber setelah file lokal tersedia. Tag img atau video Anda akan menerima URL webview lokal.

Penyimpanan native persisten

Aset yang di-cache tersimpan di penyimpanan persisten milik aplikasi, bukan di folder cache platform yang bisa dihapus sistem saat memori penuh.

Dukungan CDN terproteksi

Kirim header ke native fetch untuk aset yang ditandatangani atau terautentikasi, sementara elemen web tetap memuat file lokal saja.

Binding ramah framework

Hubungkan resolusi cache native ke HTML biasa, React refs, Vue refs, atau framework apa pun yang bisa mengisi src img atau video.

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

Mulai dengan cancel() dan metode inti lain yang tercantum di bawah ini.

PlatformDukunganCatatan
iOSYaNative
AndroidYaNative
WebTidakLindungi dengan Capacitor.getPlatform()

Gunakan Asset Cache saat aplikasi Anda menampilkan media remote berat yang harus tetap ada meski ada tekanan penyimpanan:

  • video onboarding atau marketing dari CDN
  • hero images, galeri, atau urutan gambar yang digunakan berulang kali
  • media terproteksi yang memerlukan request headers
  • layar offline-tolerant di mana aset lokal yang sudah di-fetch sebelumnya sudah cukup
  • aplikasi Capacitor di mana <img> dan <video> tidak boleh mengambil URL yang dilindungi secara langsung
  • configure(options) mengatur default CDN dan perilaku revalidasi.
  • bind(element, path, options?) memperbarui elemen gambar atau video saat file lokal siap.
  • src(path, options?) mengembalikan string source lokal untuk state framework.
  • resolve(path, options?) mengembalikan local source beserta metadata cache.
  • get(options) mengubah remote URL menjadi metadata file native yang persisten.
  • remove(options) removes one cached asset by key or URL.
  • clear() menghapus semua asset yang di-cache oleh plugin.
  • list() mengembalikan asset yang di-cache yang masih ada di disk.
  • getCacheSize() mengembalikan total byte yang di-cache.
  • getPluginVersion() mengembalikan penanda versi implementasi native.

Cache dapat diperiksa dengan berbagai cara per aset atau melalui default:

StrategiPerilaku
neverGunakan file lokal jika tersedia.
ttlDownload ulang setelah maxAgeSeconds.
alwaysRevalidasi pada setiap panggilan dan kirim validator yang diketahui.
etagGunakan validator HTTP ETag yang diketahui jika tersedia.
last-modifiedGunakan validator HTTP Last-Modified yang diketahui jika tersedia.

Di iOS, file disimpan di bawah Application Support dan root cache dikecualikan dari backup iCloud. Di Android, file disimpan di direktori internal files aplikasi.

Cache tersembunyi di dalam sandbox aplikasi dan tidak terlihat sebagai media publik pengguna. Cache akan dihapus saat aplikasi di-uninstall, saat pengguna menghapus data aplikasi, atau saat aplikasi Anda memanggil clear() atau remove().

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