Vai al contenuto

@capgo/capacitor-asset-cache

Cache immagini e video della CDN nello storage persistente dell'app e vincolali come sorgenti media locali

Fonti di visualizzazione solo locali

src, resolve, e bind restituisce una sorgente solo dopo che il file locale esiste. 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 del sistema che potrebbe essere svuotata per liberare spazio.

Supporto CDN protetto

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

Binding ottimizzato per i framework

Collega la risoluzione della cache nativa a HTML semplice, React refs, Vue refs o qualsiasi framework in grado di assegnare un src a img o video.

Crea la cache di immagini e video da CDN nello storage persistente dell'app e caricali come sorgenti media locali

Inizia con cancel() e gli altri metodi core elencati di seguito.

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

Usa Asset Cache quando la tua app visualizza media remoti pesanti che devono resistere alla normale gestione dello storage:

  • video di onboarding o marketing serviti da una CDN
  • hero images, gallerie o sequenze di immagini riutilizzate tra le sessioni
  • media protetti che richiedono header nelle richieste
  • schermate offline-tolerant dove un asset locale già scaricato è sufficiente
  • app Capacitor in cui <img> e <video> non deve recuperare direttamente gli URL protetti
  • configure(options) imposta il CDN predefinito e il comportamento di revalidation.
  • bind(element, path, options?) aggiorna un elemento immagine o video quando il file locale è pronto.
  • src(path, options?) restituisce una stringa della sorgente locale per lo stato del framework.
  • resolve(path, options?) restituisce la sorgente locale più i metadati della cache.
  • get(options) risolve un URL remoto in metadati persistenti del file nativo.
  • remove(options) rimuove un asset in cache tramite chiave o URL.
  • clear() rimuove ogni asset in cache gestito dal plugin.
  • list() restituisce gli asset in cache 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 modi diversi per ogni asset o tramite impostazioni predefinite:

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

Su iOS, i file sono salvati in Application Support e la root della cache è esclusa dal backup di iCloud. Su Android, i file sono salvati nella directory interna dei file dell'app.

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

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