Richtlinie
Tutorial zum Asset-Cache
Mit @capgo/capacitor-asset-cache werden große CDN-Bilder und -Videos in der app-eigenen persistenten Speicherung gespeichert, bevor lokale Quell-URLs für capgo-Webviews zurückgegeben werden.
@capgo/capacitor-asset-cache stores large CDN images and videos in app-owned persistent storage, then returns local source URLs for Capacitor webviews.
Was diese Erweiterung offenlegt
npm install @capgo/capacitor-asset-cache
npx cap sync
- Ein Bild- oder Videoelement an eine lokale Assetquelle anhängen und aktualisieren, wenn bereit.
bind- Eine lokale Quellzeichenkette zurückgeben, nachdem das Asset lokal existiert.srcInstallresolve- Die lokale Quelle plus Cache-Metadaten zurückgeben.configure- Die Standard-CDN und -Revalidierungsverhalten festlegen.get,list,remove,clear, undgetCacheSize- Die Cache-Verwaltung explizit steuern, wenn nötig.
Beispielhafte Verwendung
Eine CDN einmal konfigurieren, dann Elemente über relative Pfade binden:
import { AssetCache } from '@capgo/capacitor-asset-cache';
AssetCache.configure({
cdnUrl: 'https://cdn.example.com/assets/',
revalidate: {
strategy: 'ttl',
maxAgeSeconds: 86400,
},
});
const hero = document.querySelector<HTMLImageElement>('#hero');
if (hero) {
AssetCache.bind(hero, 'images/hero.jpg');
}
Das Element erhält data-asset-cache-state="loading" während die native Fetch-Aktion läuft, dann erhält es die lokale Quelle-URL und wechselt zu ready.
img[data-asset-cache-state='loading'],
video[data-asset-cache-state='loading'] {
opacity: 0.45;
}
Geschützte Assets
Die Header werden vom Plugin gesendet, während es die remote Datei abruft oder revalidiert. Das Web-Element erhält jedoch nur die lokale Quelle-URL.
const src = await AssetCache.src('private/videos/intro.mp4', {
cdnUrl: 'https://cdn.example.com/assets/',
headers: {
Authorization: `Bearer ${token}`,
},
});
Ohne CDN-Base-URL
Eine absolute URL übergeben, wenn Sie keine Konfiguration wünschen. cdnUrl.
const src = await AssetCache.src('https://cdn.example.com/assets/videos/intro.mp4');
Relative Pfade erfordern entweder eine konfigurierte cdnUrl oder eine pro-Aufruf cdnUrl.
Speichernachrichten
Bei iOS leben Dateien unter Application Support und werden von iCloud-Backup ausgeschlossen. Bei Android leben Dateien unter dem internen Dateiverzeichnis der App. Das System behandelt diese Dateien nicht als verbrauchbare Cache-Dateien, sondern löscht sie bei Uninstall, App-Daten löschen und clear(), und remove() noch immer löschen sie.
Vollständige Referenz
- GitHub: https://github.com/Cap-go/capacitor-asset-cache/
- Dokumentation: /docs/plugins/asset-cache/
Fahren Sie mit dem Lesen von Using @capgo/capacitor-asset-cache
Wenn Sie Mit @capgo/capacitor-asset-cache um persistente Medienbeladung zu planen, verbinden Sie es mit @capgo/capacitor-asset-cache für Implementierungsdetails Getting Started für Implementierungsdetails @capgo/capacitor-downloader für explizite Hintergrunddownloads und @capgo/capacitor-file für allgemeinen lokalen Dateizugriff.