Saltare al contenuto

@capgo/capacitor-cache-asset

Caching dei contenuti multimediali di una rete CDN pesante nel storage persistente dell'applicazione e associare immagini o video a URL locali del webview.

Visualizzazione solo locale delle fonti

src, resolvee bind restituisci una fonte solo dopo l'esistenza di un file locale. Il tuo tag img o video riceve un URL webview locale.

Storage nativo persistente

Gli asset memorizzati vivono in archiviazione persistente di proprietà dell'app, non nella cartella di cache del sistema che il sistema può espellere sotto pressione.

Sostegno di CDN protetto

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

Legame amichevole con il framework

Lega la risoluzione della cache nativa a HTML puro, riferimenti React, riferimenti Vue o a qualsiasi framework che possa assegnare una src per un'immagine o un video.

@capgo/capacitor-asset-cache memorizza grandi immagini, video e altri asset CDN in archiviazione persistente di proprietà dell'app, quindi fornisce all'app web una URL di origine locale per la visualizzazione.

La normale via è:

  1. Configura una URL base CDN una volta sola, o passa un'URL assoluta per asset.
  2. Chiamata AssetCache.bind(element, path) o AssetCache.src(path).
  3. The plugin recupera o riconvalida nativamente l'asset remoto.
  4. L'elemento riceve un URL di visualizzazione web locale solo dopo che il file locale è pronto.

Usa il cache degli asset quando il tuo app visualizza media remoti pesanti che dovrebbero sopravvivere alla pressione di archiviazione normale: video di onboarding o di marketing serviti da un CDN

  • __CAPGO_KEEP_0__
  • immagini, gallerie o sequenze di immagini riutilizzate tra sessioni
  • media protetti che richiedono intestazioni di richiesta
  • schermate tolleranti all'offline dove un asset locale precedentemente recuperato è sufficiente
  • Capacitor app dove <img> e <video> non dovrebbe recuperare direttamente URL protetti
  • configure(options) imposta il comportamento predefinito per CDN e riconvalida.
  • bind(element, path, options?) aggiorna un elemento di 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 la fonte locale più i metadati della cache.
  • get(options) risolve un URL remoto in metadati di file nativi persistente.
  • remove(options) rimuove un asset memorizzato per chiave o URL.
  • clear() rimuove ogni asset memorizzato gestito dal plugin.
  • list() ritorna gli asset memorizzati che ancora esistono sul disco.
  • getCacheSize() ritorna il totale di byte memorizzati.
  • getPluginVersion() ritorna il marker di versione dell'implementazione nativa.

La cache può essere controllata in modi diversi per ogni asset o attraverso impostazioni predefinite:

Modello di StrategiaModello di Comportamento
neverUsa il file locale quando presente.
ttlRiscaricare dopo maxAgeSeconds.
alwaysRivalutare su ogni chiamata e inviare validatori noti.
etagUsare il validator noto HTTP ETag quando presente.
last-modifiedUsare il validator noto HTTP Last-Modified quando presente.

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

Il cache è nascosto all'interno del sandbox dell'app e non è visibile come media utente pubblico. Viene rimosso quando l'app viene disinstallata, quando l'utente pulisce i dati dell'app, o quando il tuo app chiama clear() o remove().

Se stai utilizzando cache di risorse @capgo/capacitor per pianificare il caricamento dei media persistente, connettilo con Iniziare per i dettagli di implementazione, cache di download @capgo/capacitor per scarichi di background espliciti, file @capgo/capacitor per l'accesso ai file locali generali, e Usare @capgo/capacitor-asset-cache per il tutorial.