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

Cache degli Asset plugin Capacitor

Cache immagini e video della CDN nello storage persistente dell'app, utilizzandoli come sorgenti media locali

Installazione

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

Utilizzo di @capgo/capacitor-asset-cache

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

Installazione

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

Cosa espone il plugin

  • bind - Collega un elemento immagine o video a una sorgente asset locale e aggiornalo quando pronto.
  • src - Restituisce una stringa della sorgente locale una volta che l'asset è presente localmente.
  • resolve - Restituisce la sorgente locale insieme ai metadati della cache.
  • configure - Imposta il CDN predefinito e il comportamento di revalidation.
  • get, list, remove, clear, e getCacheSize - Gestisci la cache esplicitamente quando necessario.

Esempio di utilizzo

Configura un CDN una sola volta, poi associa gli elementi tramite 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 esecuzione, 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

Il plugin invia gli header durante il fetch o la rivalidazione 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 o per singola chiamata cdnUrl.

Note sullo storage

Su iOS i file si trovano in Application Support e sono esclusi dal backup iCloud. Su Android i file si trovano nella directory interna dell'app. Il sistema non li tratta come file di cache temporanei, ma la disinstallazione, la cancellazione dei dati dell'app, clear(), e remove() li eliminano comunque.

Riferimento completo

Continua da Usare @capgo/capacitor-asset-cache

Se stai usando Utilizzo di @capgo/capacitor-asset-cache per pianificare il caricamento persistente dei media, collegalo a @capgo/capacitor-asset-cache per i dettagli sull'implementazione, Guida rapida per i dettagli sull'implementazione, @capgo/capacitor-downloader per download espliciti in background, e @capgo/capacitor-file per l'accesso generico 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 lancia "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 in esecuzione all'interno di Capacitor, inclusi Ionic, React, Vue, Angular, Svelte e JavaScript puro.

Quale versione di Capacitor è supportata da @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 è free 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 su npm. Bug report e pull request sono i benvenuti.

Posso aggiornare code che usa Asset Cache senza passare per 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 i live update di Capgo.

Distribuisci modifiche all'Asset Cache senza attendere la revisione dell'app

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

Inizia con Capgo