Zum Inhalt springen

@capgo/capacitor-Asset-Cache

Cache schwere CDN-Medien in app-eigener persistenten Speicher und binden Bilder oder Videos an lokale WebView-URLs.

Lokale Anzeige von Quellen

src, resolve, und bind Geben Sie eine Quelle nur zurück, nachdem ein lokales Datei existiert. Ihre img- oder video-Tags erhalten eine lokale WebView-URL.

Persistente native Speicherung

Gespeicherte Assets leben in app-eigener persistenten Speicher, nicht im Plattform-Speicherordner, den 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

Bind native cache resolution an einfaches HTML, React-Referenzen, Vue-Referenzen oder jede Framework, das eine Quelle für img oder video zuweisen kann.

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

Der normale Weg ist:

  1. Eine CDN-Base-URL einmal konfigurieren, oder eine absolute URL pro Asset übergeben.
  2. Aufruf AssetCache.bind(element, path) oder AssetCache.src(path).
  3. Das Plugin lädt oder überprüft die remote Asset natively.
  4. Das Element erhält eine lokale Webview-URL nur, nachdem das lokale Datei bereit ist.

Verwenden Sie den Asset Cache, wenn Ihre App schwerwiegende remote-Medien anzeigt, die normalen Speicherdruck überleben sollten:

  • Onboarding- oder Marketing-Videos, die von einem CDN gesendet werden
  • Heldenbilder, Galerien oder Bildsequenzen, die über Sitzungen wiederverwendet werden
  • geschützte Medien, die Anforderungsheaders erfordern
  • Offline-tolerante Bildschirme, bei denen ein zuvor abgerufenes lokales Asset ausreicht
  • Capacitor-Apps, bei denen <img> und <video> direkt sollten Sie keine geschützten URLs aufrufen
  • configure(options) setzt die Standard-CDN- und -Revalidierungsverhalten.
  • bind(element, path, options?) aktualisiert ein Bild- oder Video-Element, wenn das lokale Datei bereit ist.
  • src(path, options?) gibt eine lokale Quellzeichenfolge für den Framework-Zustand zurück.
  • resolve(path, options?) gibt die lokale Quelle plus Cache-Metadaten zurück.
  • get(options) löst eine remote URL in persistente native Datei-Metadaten auf.
  • remove(options) entfernt ein kaches Asset durch Schlüssel oder URL.
  • clear() entfernt alle kachen Assets, die vom Plugin verwaltet werden.
  • list() gibt kache Assets zurück, die auf dem Festplatte noch existieren.
  • getCacheSize() Gibt die Gesamtzahl der gecacheten Bytes zurück.
  • getPluginVersion() Gibt die Versionsmarke der nativen Implementierung zurück.

Die Cacheabfrage kann auf verschiedene Weise pro Asset oder über Standards erfolgen:

StrategieVerhalten
neverVerwende das lokale Datei, wenn vorhanden.
ttlNachladen nach maxAgeSeconds.
alwaysRevalidiere bei jedem Aufruf und sende bekannte Validator.
etagVerwende den bekannten HTTP ETag-Validator, wenn vorhanden.
last-modifiedVerwende den bekannten HTTP Last-Modified-Validator, wenn vorhanden.

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

Der Cache ist innerhalb des App-Sandboxes versteckt und ist als öffentliches Benutzermedium 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/capacitor-asset-cache zum Planen der persistierenden Medienbeladung verwenden, verbinden Sie es mit Getting Started für Implementierungsdetails, @capgo/capacitor-Herunterladegerät für explizite Hintergrundherunterlädtungen @capgo/capacitor-Datei für allgemeinen lokalen Zugriff auf Dateien und Mit @capgo/capacitor-Asset-Cache für das Tutorial.