Saltar al contenido

@capgo/capacitor-asset-cache

Cachea imágenes y videos de la CDN en el almacenamiento persistente de la app y vincúlalos como fuentes de medios locales

Fuentes de visualización locales

src, resolve, y bind devuelve una fuente solo cuando existe un archivo local. Tu etiqueta img o video recibe una URL de webview local.

Almacenamiento nativo persistente

Los assets en caché residen en el almacenamiento persistente de la app, no en la carpeta de caché del sistema que podría vaciarse por falta de espacio.

Soporte para CDN protegidos

Pasa headers al fetch nativo para assets firmados o autenticados, mientras el elemento web sigue cargando solo el archivo local.

Binding compatible con frameworks

Vincula la resolución de la caché nativa a HTML puro, React refs, Vue refs o cualquier framework que asigne un src a img o video.

Cachea imágenes y videos de la CDN en el almacenamiento persistente de la app y vincúlalos como fuentes de medios locales

Empieza con cancel() y los demás métodos principales listados abajo.

PlataformaSoporteNotas
iOSSíNativo
AndroidSíNativo
WebNoProtege con Capacitor.getPlatform()

Usa Asset Cache cuando tu app muestre contenido multimedia pesado que deba persistir ante la limpieza de almacenamiento:

  • videos de onboarding o marketing servidos desde un CDN
  • hero images, galerías o secuencias de imágenes reutilizadas en varias sesiones
  • media protegida que requiere headers en la petición
  • pantallas con soporte offline donde basta con un asset local ya descargado
  • apps de Capacitor donde <img> y <video> no debe solicitar URLs protegidas directamente
  • configure(options) sets default CDN and revalidation behavior.
  • bind(element, path, options?) actualiza un elemento de imagen o video cuando el archivo local está listo.
  • src(path, options?) devuelve una cadena de origen local para el estado del framework.
  • resolve(path, options?) devuelve la fuente local junto con los metadatos de caché.
  • get(options) resuelve una URL remota en metadatos de archivo nativo persistente.
  • remove(options) elimina un asset en caché mediante su clave o URL.
  • clear() elimina todos los assets en caché gestionados por el plugin.
  • list() devuelve los assets en caché que aún existen en el disco.
  • getCacheSize() devuelve el total de bytes en caché.
  • getPluginVersion() devuelve el marcador de versión de la implementación nativa.

La caché se puede verificar de distintas formas por asset o mediante valores por defecto:

EstrategiaComportamiento
neverUsar el archivo local si existe.
ttlVolver a descargar después de maxAgeSeconds.
alwaysRevalidar en cada llamada y enviar validadores conocidos.
etagUsar el validador HTTP ETag conocido si existe.
last-modifiedUsar el validador HTTP Last-Modified conocido si existe.

En iOS, los archivos se guardan en Application Support y la raíz del cache se excluye de iCloud backup. En Android, se guardan en el directorio de archivos internos de la app.

El cache está oculto dentro del sandbox de la app y no es visible como archivos multimedia públicos. Se elimina al desinstalar la app, al borrar los datos de la app o cuando tu app llama a clear() o remove().

Si estás usando @capgo/capacitor-asset-cache para planificar la carga de medios persistentes, conéctalo con Primeros pasos para detalles de implementación, @capgo/capacitor-downloader para descargas explícitas en segundo plano, @capgo/capacitor-file para acceso general a archivos locales, y Usando @capgo/capacitor-asset-cache para el tutorial.