Salta al contenuto principale
@capgo/capacitor-asset-cache File & Storage Open source

Cache degli Asset Plugin Capacitor

Metti in cache immagini e video CDN nello storage persistente dell'app e collegali come sorgenti media locali

Installa

bun add @capgo/capacitor-asset-cache bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-asset-cache
  • pnpm add @capgo/capacitor-asset-cache
  • yarn add @capgo/capacitor-asset-cache

Guida

Come usare Asset Cache in Capacitor

Usando @capgo/capacitor-asset-cache

@capgo/capacitor-asset-cache memorizza immagini e video pesanti della CDN nello storage persistente dell'app, restituendo URL di sorgente locali per le webview di Capacitor.

Installa

npm install @capgo/capacitor-asset-cache
npx cap sync

Cosa espone questo plugin

  • bind - Associa un elemento immagine o video a una sorgente asset locale e aggiornalo quando è pronto.
  • src - Restituisce una stringa di sorgente locale dopo che l'asset esiste localmente.
  • resolve - Restituisce la sorgente locale più i metadati della cache.
  • configure - Imposta il CDN predefinito e il comportamento di revalidazione.
  • get, list, remove, clear, e getCacheSize - Gestisci la cache esplicitamente quando necessario.

Esempio d'uso

Configura un CDN una volta, poi associa gli elementi per percorso relativo:

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');
}

L'elemento riceve data-asset-cache-state="loading" mentre il fetch nativo è in corso, poi riceve l'URL della sorgente locale e passa a ready.

img[data-asset-cache-state='loading'],
video[data-asset-cache-state='loading'] {
  opacity: 0.45;
}

Asset protetti

Le header vengono inviate dal plugin durante il fetch o la revalidazione del file remoto. L'elemento web riceve comunque solo l'URL della sorgente locale.

const src = await AssetCache.src('private/videos/intro.mp4', {
  cdnUrl: 'https://cdn.example.com/assets/',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});

Senza un CDN Base URL

Passa un URL assoluto se non vuoi configurare cdnUrl.

const src = await AssetCache.src('https://cdn.example.com/assets/videos/intro.mp4');

I percorsi relativi richiedono un cdnUrl configurato o un cdnUrl.

Note sulla storage

Su iOS, i file si trovano in Application Support e sono esclusi dal backup iCloud. Su Android, i file si trovano nella directory dei file interni dell'app. Il sistema non tratta questi file come cache eliminabili, ma disinstallare, cancellare i dati dell'app, clear(), e remove() li elimina comunque.

Riferimento completo

Continua da "Usare @capgo/capacitor-asset-cache"

Se stai usando Usando @capgo/capacitor-asset-cache per pianificare il caricamento persistente dei media, collegalo a @capgo/capacitor-asset-cache per i dettagli di implementazione, Per iniziare per i dettagli di implementazione, @capgo/capacitor-downloader per download espliciti in background, e @capgo/capacitor-file per l'accesso generale ai file locali.

FAQ

FAQ del plugin Asset Cache

Come installo il plugin Asset Cache in un'app Capacitor?

Esegui "bun add @capgo/capacitor-asset-cache" (o "npm install @capgo/capacitor-asset-cache"), poi esegui "bunx cap sync" in modo che i progetti iOS e Android integrino il code nativo. Importalo da "@capgo/capacitor-asset-cache" nel tuo code.

@capgo/capacitor-asset-cache funziona con React, Vue e Angular?

Sì. Asset Cache è un pacchetto Capacitor, quindi funziona con qualsiasi web framework che giri all'interno di Capacitor, inclusi Ionic, React, Vue, Angular, Svelte e JavaScript puro.

Quale versione di Capacitor supporta @capgo/capacitor-asset-cache?

I plugin Capgo seguono la major version di Capacitor: usa la major version del plugin che corrisponde alla tua major version di Capacitor (ad esempio plugin v8 con Capacitor 8). La tabella di compatibilità nel README di GitHub elenca le versioni mantenute.

@capgo/capacitor-asset-cache è gratuito e open source?

Sì. Il codice sorgente code è pubblico su GitHub all'indirizzo https://github.com/Cap-go/capacitor-asset-cache/ e il pacchetto è gratuito da installare da npm. Bug report e pull request sono i benvenuti.

Posso aggiornare code che usa Asset Cache senza la revisione dell'App Store?

Installare o aggiornare il plugin modifica il code nativo, quindi serve una nuova build per lo store. Dopo, le modifiche a JavaScript, HTML e CSS che chiamano il plugin possono essere rilasciate subito con le live updates di Capgo.

Pubblica le modifiche ad Asset Cache senza attendere la revisione dell'app

Una volta incluso il plugin nel tuo store build, Capgo invia le modifiche a JavaScript, HTML e CSS tramite live updates in pochi minuti.

Inizia con Capgo