Aller au contenu principal
@capgo/capacitor-asset-cache Fichiers et stockage Open source

Cache des assets Plugin Capacitor

Mettez en cache les images et vidéos du CDN dans le stockage persistant de l'app et liez-les comme sources média locales

Installer

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

Guide

Comment utiliser Asset Cache dans Capacitor

Utiliser @capgo/capacitor-asset-cache

@capgo/capacitor-asset-cache stocke les images et vidéos CDN volumineuses dans le stockage persistant propre à l'app, puis renvoie des URL sources locales pour les webviews Capacitor.

Installer

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

Ce que ce plugin expose

  • bind - Associer un élément image ou vidéo à une source locale d’asset et le mettre à jour lorsqu’il est prêt.
  • src - Renvoyer une chaîne de source locale une fois que l’asset existe localement.
  • resolve - Renvoyer la source locale ainsi que les métadonnées du cache.
  • configure - Définir le CDN par défaut et le comportement de revalidation.
  • get, list, remove, clear, et getCacheSize - Gérer le cache explicitement si nécessaire.

Exemple d'utilisation

Configurez un CDN une seule fois, puis liez les éléments par chemin relatif :

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’élément reçoit data-asset-cache-state="loading" pendant que le fetch natif s’exécute, puis reçoit l’URL de la source locale et passe à ready.

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

Assets protégés

Le plugin envoie les headers lorsqu'il récupère ou revalide le fichier distant. L'élément web ne reçoit toujours que l'URL de la source locale.

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

Sans URL de base CDN

Passez une URL absolue si vous ne souhaitez pas configurer cdnUrl.

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

Les chemins relatifs nécessitent soit une valeur configurée cdnUrl soit une valeur par appel cdnUrl.

Notes sur le stockage

Sur iOS, les fichiers sont stockés dans Application Support et exclus de la sauvegarde iCloud. Sur Android, ils se trouvent dans le répertoire interne de l'application. Le système ne les considère pas comme du cache jetable, mais une désinstallation ou un effacement des données de l'app clear(), et remove() les supprimera quand même.

Référence complète

Continuer depuis « Utilisation de @capgo/capacitor-asset-cache »

Si vous utilisez Utiliser @capgo/capacitor-asset-cache pour planifier le chargement de médias persistants, connectez-l’à @capgo/capacitor-asset-cache pour les détails d'implémentation, Prise en main pour les détails d'implémentation, @capgo/capacitor-downloader pour les téléchargements explicites en arrière-plan, et @capgo/capacitor-file pour l'accès général aux fichiers locaux.

FAQ

FAQ du plugin Asset Cache

Comment installer le plugin Asset Cache dans une application Capacitor ?

Exécutez « bun add @capgo/capacitor-asset-cache » (ou « npm install @capgo/capacitor-asset-cache »), puis lancez « bunx cap sync » pour que les projets iOS et Android récupèrent le code natif code. Importez-le depuis « @capgo/capacitor-asset-cache » dans le code de votre application code.

@capgo/capacitor-asset-cache fonctionne-t-il avec React, Vue et Angular ?

Oui. Asset Cache est un package Capacitor, il fonctionne donc avec n’importe quel framework web qui s’exécute dans Capacitor, y compris Ionic, React, Vue, Angular, Svelte et le JavaScript pur.

Quelle version de Capacitor @capgo/capacitor-asset-cache prend-il en charge ?

Les plugins Capgo suivent la version majeure de Capacitor : utilisez la version majeure du plugin qui correspond à la version majeure de votre Capacitor (par exemple le plugin v8 avec Capacitor 8). Le tableau de compatibilité du README de GitHub recense les versions maintenues.

@capgo/capacitor-asset-cache est-il gratuit et open source ?

Oui. Le code source code est public sur GitHub à l’adresse https://github.com/Cap-go/capacitor-asset-cache/ et le package est gratuit à installer depuis npm. Les signalements de bugs et les pull requests sont les bienvenus.

Puis-je mettre à jour code qui utilise Asset Cache sans passer par une revue de l’App Store ?

L'installation ou la mise à jour du plugin modifie le code natif, ce qui impose un nouveau build pour les stores. Ensuite, les changements JavaScript, HTML et CSS qui appellent le plugin peuvent être livrés instantanément via les live updates de Capgo.

Déployez les changements d'Asset Cache sans attendre la validation de l'app

Une fois le plugin intégré à votre build de store, Capgo live updates déploie vos changements JavaScript, HTML et CSS aux utilisateurs en quelques minutes.

Commencez avec Capgo