Zum Inhalt springen

@capgo/capacitor-Asset-Cache

Lagere schwere CDN-Medien im app-eigenen persistenten Speicher und binden Bilder oder Videos an lokale Webview-URLs.

Nur lokale Anzeige von Quellen

src, resolve, und bind Rufen Sie eine Quelle nur nach dem Bestehen eines lokalen Dateisystems zurück. Ihre img- oder video-Tags erhalten eine lokale WebView-URL.

Dauerhafte native Speicherung

Gespeicherte Assets leben in der eigenen persistenten Speicherung der App, nicht im Cache-Ordner der Plattform, der das System unter Druck evakuieren kann.

Geschützter CDN-Unterstützung

Passen Sie Kopfzeilen an die native Fetch-Funktion für signierte oder authentifizierte Assets weiter, während das Web-Element nur die lokale Datei lädt.

Frameworkfreundliche Bindung

Binden Sie die native Cacheauflösung an einfaches HTML, React-Referenzen, Vue-Referenzen oder an jede Framework, die eine img- oder video-Src zuweisen kann.

Übersicht

Übersicht

@capgo/capacitor-asset-cache Cachen Sie große Bilder, Videos und andere CDN-Assets in der eigenen persistenten Speicherung der App, und geben Sie der Web-App dann eine lokale Quellen-URL für die Anzeige.

Der normale Weg ist:

  1. Konfigurieren Sie einmal eine CDN-Base-URL oder übergeben Sie eine absolute URL pro Asset.
  2. Wenn Sie anrufen AssetCache.bind(element, path) oder AssetCache.src(path).
  3. Der Plugin lädt oder überprüft die Remote-Asset natively.
  4. Der Element erhält eine lokale WebView-URL nur, nachdem das lokale Datei bereit ist.

Wenn Ihre App schwerwiegende remote-Medien anzeigt, die normalen Speicherdruck überstehen sollten:

  • Videoclips für die Onboarding- oder Marketing-Phase, die von einem CDN bereitgestellt werden
  • Heldenbilder, Galerien oder Bildsequenzen, die über Sitzungen hinweg wiederverwendet werden
  • Geschützte Medien, die Anforderungsheaders erfordern
  • Bildschirme, die offline-tolerant sind, wobei ein vorher abgerufenes lokales Asset ausreicht
  • Capacitor-Apps, in denen <img> und <video> Schutz vor direkten Abrufen geschützter URLs
  • configure(options) setzt Standard-CDN und -Revalidierungsverhalten fest.
  • bind(element, path, options?) aktualisiert ein Bild- oder Videoelement, wenn das lokale Datei bereit ist.
  • src(path, options?) gibt eine lokale Quellzeichenkette für das Framework-Zustand zurück.
  • resolve(path, options?) gibt die lokale Quellzeichenkette plus Cache-Metadaten zurück.
  • get(options) löst eine remote URL in persistente native Datei-Metadaten auf.
  • remove(options) entfernt ein gecachtes Asset durch Schlüssel oder URL.
  • clear() entfernt alle gecachten Assets, die vom Plugin verwaltet werden.
  • list() gibt gecachte Assets zurück, die auf dem Disk noch existieren.
  • getCacheSize() gibt die gesamten gecachten Bytes zurück.
  • getPluginVersion() gibt die native Implementierungsversionssymbol zurück.

Der Cache kann auf verschiedene Weise pro Asset oder durch Standards überprüft werden:

StrategieVerhalten
neverVerwenden Sie das lokale Datei, wenn sie vorhanden ist.
ttlWiederherstellen nach maxAgeSeconds.
alwaysBei jedem Aufruf erneut validieren und bekannte Validator senden.
etagVerwenden Sie den bekannten HTTP ETag-Validator, wenn vorhanden.
last-modifiedVerwenden Sie den bekannten HTTP Last-Modified-Validator, wenn vorhanden.

Bei iOS werden Dateien unter Application Support gespeichert und der Cache-Root wird aus dem iCloud-Backup ausgeschlossen. Bei Android werden Dateien unter dem internen Dateiverzeichnis des Apps gespeichert.

Der Cache ist innerhalb des App-Sandboxes versteckt und ist als öffentliche Benutzermedien nicht sichtbar. Er wird entfernt, wenn die App uninstalliert wird, wenn der Benutzer die App-Daten löscht oder wenn Ihre App clear() oder remove().

Wenn Sie "@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-asset-cache" verwenden, um persistente Medienbeladung zu planen, verbinden Sie es mit @capgo/capacitor-asset-cache um Details zur Implementierung zu erhalten, @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-downloader um explizite Hintergrunddownloads durchzuführen, @capgo/capacitor-file um allgemeinen Zugriff auf lokale Dateien und Using @capgo/capacitor-asset-cache um den Tutorial zu erhalten. @capgo/capacitor-asset-cache If you are using