Vai al contenuto

@capgo/capacitor-asset-cache

Metti in cache immagini e video CDN nello storage persistente dell'app e collegali come sorgenti media locali

Sorgenti di visualizzazione solo locali

src, resolve, e bind restituisce una sorgente solo quando esiste un file locale. Il tag img o video riceve un URL webview locale.

Storage nativo persistente

Gli asset in cache risiedono nello storage persistente dell'app, non nella cartella cache della piattaforma che il sistema potrebbe svuotare in caso di necessità.

Supporto CDN protetto

Passa gli header alla fetch nativa per asset firmati o autenticati, mentre l'elemento web carica solo il file locale.

Binding compatibile con i framework

Collega la risoluzione della cache nativa a HTML puro, React refs, Vue refs o qualsiasi framework che possa assegnare src a img o video.

Metti in cache immagini e video CDN nello storage persistente dell'app e collegali come sorgenti media locali

Inizia con cancel() e gli altri metodi principali elencati qui sotto.

PiattaformaSupportoNote
iOSSìNativo
AndroidSìNativo
WebNoProteggi con Capacitor.getPlatform()

Usa Asset Cache quando la tua app mostra media remoti pesanti che devono resistere alla normale pressione di archiviazione:

  • video di onboarding o marketing serviti da un CDN
  • immagini hero, gallerie o sequenze di immagini riutilizzate tra le sessioni
  • media protetti che richiedono header di richiesta
  • schermate tolleranti all'offline in cui un asset locale precedentemente recuperato è sufficiente
  • app Capacitor in cui <img> e <video> non devono recuperare direttamente URL protetti
  • configure(options) Imposta il CDN predefinito e il comportamento di revalidazione.
  • bind(element, path, options?) Aggiorna un elemento immagine o video quando il file locale è pronto.
  • src(path, options?) Restituisce una stringa di origine locale per lo stato del framework.
  • resolve(path, options?) Restituisce l'origine locale e i metadati della cache.
  • get(options) Risolvi un URL remoto in metadati di file nativo persistente.
  • remove(options) Rimuove un asset in cache per chiave o URL.
  • clear() Rimuove tutti gli asset in cache gestiti dal plugin.
  • list() restituisce gli asset in cache che sono ancora presenti su disco.
  • getCacheSize() restituisce il totale dei byte in cache.
  • getPluginVersion() restituisce il marker della versione dell'implementazione nativa.

La cache può essere verificata in diversi modi per asset o tramite valori predefiniti:

StrategiaComportamento
neverUsa il file locale se presente.
ttlRicarica dopo maxAgeSeconds.
alwaysRivalida a ogni chiamata e invia i validatori noti.
etagUsa il validatore HTTP ETag noto se presente.
last-modifiedUsa il validatore HTTP Last-Modified noto quando presente.

Su iOS, i file sono archiviati in Application Support e la radice della cache è esclusa dal backup iCloud. Su Android, i file sono archiviati nella directory dei file interni dell'app.

La cache è nascosta all'interno del sandbox dell'app e non è visibile come media utente pubblici. Viene rimossa quando l'app viene disinstallata, quando l'utente cancella i dati dell'app o quando la tua app chiama clear() oppure remove().

Se stai usando @capgo/capacitor-asset-cache per pianificare il caricamento persistente dei media, collegalo a Per iniziare per i dettagli di implementazione, @capgo/capacitor-downloader per download espliciti in background, @capgo/capacitor-file per l'accesso generico ai file locali, e Usando @capgo/capacitor-asset-cache per il tutorial.