Nur lokale Anzeigequellen
src, resolve, und bind Gib die Quelle erst zurück, wenn eine lokale Datei existiert. Dein img- oder video-Tag erhält eine lokale WebView-URL.
Nur lokale Anzeigequellen
src, resolve, und bind Gib die Quelle erst zurück, wenn eine lokale Datei existiert. Dein img- oder video-Tag erhält eine lokale WebView-URL.
Persistenter nativer Speicher
Gecachte Assets liegen im persistenten Speicher der App, nicht im Plattform-Cache, den das System bei Ressourcenknappheit löschen könnte.
Unterstützung für geschützte CDNs
Übergib Header an den nativen Fetch für signierte oder authentifizierte Assets, während das Web-Element weiterhin nur die lokale Datei lädt.
Framework-freundliche Bindung
Binde die native Cache-Auflösung an reines HTML, React refs, Vue refs oder jedes Framework, das ein img- oder video-src setzen kann.
Cache CDN-Bilder und -Videos im persistenten App-Speicher und binde sie als lokale Medienquellen ein
Starte mit cancel() und die weiteren unten aufgeführten Core-Methoden.
| Plattform | Support | Hinweise |
|---|---|---|
| iOS | Ja | Native |
| Android | Ja | Native |
| Web | Nein | Absichern mit Capacitor.getPlatform() |
Nutze Asset Cache, wenn deine App große Remote-Medien anzeigt, die auch bei Speicherplatzmangel erhalten bleiben sollen:
<img> und <video> sollte geschützte URLs nicht direkt abrufenconfigure(options) legt das Standard-CDN und das Revalidierungsverhalten fest.bind(element, path, options?) aktualisiert ein Bild- oder Video-Element, sobald die lokale Datei bereit ist.src(path, options?) gibt einen lokalen Source-String für den Framework-State zurück.resolve(path, options?) gibt die lokale Source inklusive Cache-Metadaten zurück.get(options) löst eine Remote-URL in persistente native Datei-Metadaten auf.remove(options) entfernt ein gecachtes Asset anhand des Keys oder der URL.clear() entfernt alle vom Plugin verwalteten gecachten Assets.list() gibt gecachte Assets zurück, die noch auf der Disk existieren.getCacheSize() gibt die gesamten gecachten Bytes zurück.getPluginVersion() gibt den Versionsmarker der nativen Implementierung zurück.Der Cache kann pro Asset oder über Standardwerte unterschiedlich geprüft werden:
| Strategie | Verhalten |
|---|---|
never | Verwende die lokale Datei, falls vorhanden. |
ttl | Neu herunterladen nach maxAgeSeconds. |
always | Bei jedem Aufruf revalidieren und bekannte Validatoren senden. |
etag | Verwende den bekannten HTTP ETag-Validator, falls vorhanden. |
last-modified | Verwende den bekannten HTTP Last-Modified-Validator, falls vorhanden. |
Unter iOS werden Dateien in Application Support gespeichert, wobei der Cache-Root vom iCloud-Backup ausgeschlossen wird. Unter Android liegen die Dateien im internen Verzeichnis der App.
Der Cache ist innerhalb der App-Sandbox verborgen und nicht als öffentliches Benutzer-Medium sichtbar. Er wird gelöscht, wenn die App deinstalliert wird, der Nutzer die App-Daten löscht oder wenn deine App aufruft clear() oder remove().
Wenn Sie ... verwenden @capgo/capacitor-asset-cache um das persistente Laden von Medien zu planen, verbinde es mit Erste Schritte für Details zur Implementierung, @capgo/capacitor-downloader für explizite Hintergrund-Downloads, @capgo/capacitor-file für den allgemeinen lokalen Dateizugriff und Verwendung von @capgo/capacitor-asset-cache für das Tutorial.