Saltare al contenuto

@capgo/capacitor-cache-assegni

Caching media pesanti CDN nel storage persistente di app e lega immagini o video a URL locali del webview.

Fonti di visualizzazione locali

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

Storage persistente nativo

Gli asset cached vivono nel storage persistente di app, non nella cartella di cache del sistema che il sistema può espellere sotto pressione.

Supporto 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 per framework

Leggi la risoluzione della cache nativa su HTML puro, riferimenti React, riferimenti Vue o qualsiasi framework che possa assegnare una src per immagini o video.

@capgo/capacitor-asset-cache cache grandi immagini, video e altri asset CDN nel storage persistente di app proprietario, poi 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. Chiamare AssetCache.bind(element, path) contesto AssetCache.src(path).
  3. Il plugin recupera o riconvalida nativamente l'asset remoto.
  4. L'elemento riceve una 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 normale di archiviazione:

  • video di onboarding o di marketing serviti da un CDN
  • immagini eroine, gallerie o sequenze di immagini riprese all'interno di 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 le URL protette
  • configure(options) Imposta 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 una URL remota in metadati di file nativi persistente.
  • remove(options) rimuove un asset di cache per chiave o URL.
  • clear() rimuove tutti gli asset di cache gestiti dal plugin.
  • list() restituisce gli asset di cache che ancora esistono sul disco.
  • getCacheSize() ritorna byte totalmente memorizzati.
  • getPluginVersion() ritorna il marchio di versione dell'implementazione nativa.

Modello di riconvalidazione

Modello di riconvalidazione

Il cache può essere controllato in modi diversi per ogni risorsa o attraverso impostazioni predefinite:

TatticaComportamento
neverUtilizzare il file locale quando presente.
ttlRiscaricare dopo maxAgeSeconds.
alwaysRiconvalidare su ogni chiamata e inviare validatori noti.
etagUtilizzare il conosciuto validator ETag HTTP quando presente.
last-modifiedUtilizzare il conosciuto validator Last-Modified HTTP quando presente.

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

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

Sezione intitolata “Continua da @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-asset-cache” @capgo/capacitor-cache di asset per pianificare il caricamento dei media persistente, connettilo con per pianificare il caricamento dei media persistenti, collegaarlo con per i dettagli di implementazione, @capgo/capacitor-downloadatore per scarichi di background espliciti @capgo/capacitor-file per l'accesso generale ai file locali, e Utilizzare @capgo/capacitor-asset-cache per il tutorial