Zum Inhalt springen

@capgo/capacitor-Asset-Cache

Speichere medienintensive CDN-Inhalte in der app-eigenen persistenten Speicherung und binden Bilder oder Videos an lokale Webview-URLs.

Nur lokale Anzeige von Quellen

src, resolve, und bind Erstelle eine Quelle nur nachdem eine lokale Datei existiert. Dein img- oder video-Tag erhält eine lokale Webview-URL.

Nativ persistentes Speicherung

Gelöschte Assets leben in der app-eigenen persistenten Speicherung, nicht im Plattform-Cache-Ordner, den das System unter Druck evakuieren kann.

Schutzfunktion für CDN

Passiere Kopfzeilen an die native fetch für signierte oder authentifizierte Assets, während das Web-Element nur die lokale Datei lädt.

Frameworkfreundliche Bindung

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

@capgo/capacitor-asset-cache Große Bilder, Videos und andere CDN-Assets werden in der app-eigenen persistenten Speicherung gecacht, dann wird der Web-App eine lokale Quellen-URL für die Anzeige bereitgestellt.

Der normale Weg ist:

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

Verwenden Sie den Asset Cache, wenn Ihre App schwere Remote-Medien anzeigt, die normalen Speicherdruck überstehen sollten:

  • Onboarding- oder Marketing-Videos, die von einem CDN gesendet werden
  • Heldenbilder, Galerien oder Bildsequenzen, die über Sitzungen hinweg wiederverwendet werden können
  • geschützte Medien, die Anforderungsüberschriften erfordern
  • Offline-tolerante Bildschirme, bei denen ein zuvor abgerufenes lokales Asset ausreicht
  • Capacitor-Anwendungen, bei denen <img> und <video> es sollte nicht direkt geschützte URLs abrufen
  • configure(options) setzt Standard-CDN- und -Revalidierungsverhalten.
  • bind(element, path, options?) aktualisiert ein Bild- oder Videoelement, wenn das lokale Datei bereit ist.
  • src(path, options?) kein lokaler Quellstring für Framework-Zustand zurückgibt.
  • resolve(path, options?) keinen lokalen Quellstring plus Cache-Metadaten zurückgibt.
  • get(options) resolvieren Sie eine Remote-URL in persistente native Dateienmetadaten.
  • remove(options) entfernt ein gecachteres Asset durch Schlüssel oder URL.
  • clear() entfernt alle gecachten Assets, die vom Plugin verwaltet werden.
  • list() gibt die noch auf der Festplatte existierenden gecachten Assets zurück.
  • getCacheSize() gibt die Gesamtzahl der gecachten Bytes zurück.
  • getPluginVersion() gibt die native Implementierungsversionssymbol zurück.

Die Cache kann auf verschiedene Weise pro Asset oder durch Standards geprüft werden:

StrategieVerhalten
neverBenutzen Sie die lokale Datei, wenn sie vorhanden ist.
ttlRe-download nachladen maxAgeSeconds.
alwaysRevalidieren Sie bei jedem Aufruf und senden Sie bekannte Validator.
etagVerwenden Sie den bekannten HTTP ETag-Validator, wenn vorhanden.
last-modifiedVerwenden Sie den bekannten HTTP Last-Modified-Validator, wenn vorhanden.

Auf iOS werden Dateien unter Application Support gespeichert und der Cache-Root wird aus 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 deinstalliert wird, wenn der Benutzer die App-Daten löscht oder wenn Ihre App clear() oder remove().

Wenn Sie die folgenden Schritte ausführen, um die App zu konfigurieren, können Sie die App mit der Cache-Implementierung von Capgo verwenden: @capgo/capacitor-asset-cache um persistente Medien zu laden, zu planen, verbinden Sie es mit Einstieg für Implementierungsdetails, @capgo/capacitor-downloader für explizite Hintergrunddownloads, @capgo/capacitor-file für allgemeinen Zugriff auf lokale Dateien und Mit @capgo/capacitor-asset-cache für das Tutorial.