Zum Hauptinhalt springen
Zurück zu Plugins
@capgo/capacitor-asset-cache
Tutorial
@capgo/capacitor-asset-cache

Asset Cache

Cache CDN-Bilder und -Videos in der persistenten App-Speicherung und binden sie als lokale Medienquellen

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.
  • src Install
  • resolve - Die lokale Quelle plus Cache-Metadaten zurückgeben.
  • configure - Die Standard-CDN und -Revalidierungsverhalten festlegen.
  • get, list, remove, clear, und getCacheSize - 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

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.