Saltar al contenido

@capgo/capacitor-asset-cache

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

Fuentes de visualización solo 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é se guardan en el almacenamiento persistente de la app, no en la carpeta de caché del sistema, que podría eliminarlos si falta 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 vídeos de CDN en el almacenamiento persistente de la app y vincúlalos como fuentes de medios locales

Comienza con cancel() y los demás métodos principales detallados abajo.

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

Usa Asset Cache cuando tu app muestre contenido multimedia remoto pesado que deba resistir la presión normal de almacenamiento:

  • videos de onboarding o marketing servidos desde un CDN
  • imágenes hero, galerías o secuencias de imágenes reutilizadas entre sesiones
  • contenido multimedia protegido que requiere headers en la petición
  • pantallas con soporte offline donde basta con un asset local previamente descargado
  • apps Capacitor donde <img> y <video> no debe obtener 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 el origen local junto con los metadatos de caché.
  • get(options) resuelve una URL remota en metadatos de archivo nativo persistente.
  • remove(options) elimina un activo en caché por clave o URL.
  • clear() elimina todos los activos en caché gestionados por el plugin.
  • list() devuelve los assets en caché que aún existen en disco.
  • getCacheSize() devuelve los bytes totales en caché.
  • getPluginVersion() devuelve el marcador de versión de la implementación nativa.

La caché se puede verificar de diferentes formas por asset o mediante valores predeterminados:

EstrategiaComportamiento
neverUsa el archivo local si está presente.
ttlRe-descarga después de maxAgeSeconds.
alwaysRevalida en cada llamada y envía los validadores conocidos.
etagUsa el validador HTTP ETag conocido cuando esté presente.
last-modifiedUsa el validador HTTP Last-Modified conocido cuando esté presente.

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

La caché está oculta dentro del sandbox de la app y no es visible como contenido multimedia público del usuario. Se elimina al desinstalar la app, cuando el usuario borra 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 persistente de medios, 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.