Aller directement au contenu principal
Retour aux plugins
@capgo/capacitor-cache-asset
Tutoriel
@capgo/capacitor-cache-asset

Cache d'actifs

Cachez les images et vidéos CDN dans le stockage d'applications persistant et liez-les en tant que sources de médias locales

Guide

Tutoriel sur la cache d'actifs

En utilisant @capgo/capacitor-asset-cache

@capgo/capacitor-asset-cache stocke de grandes images et vidéos CDN dans un stockage persistant appartenant à l'application, puis retourne des URL de source locales pour les vues web Capacitor.

Installer

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

Ce plugin expose

  • bind - Attacher un élément d'image ou de vidéo à une source d'actif local et le mettre à jour lorsque prêt.
  • src - Retourner une chaîne de source locale après l'existence de l'actif local.
  • resolve - Récupérer la source locale plus les métadonnées de cache.
  • configure - Définir le comportement par défaut de la CDN et de la révalidation.
  • get, list, remove, clear, et getCacheSize - Gérer le cache explicitement lorsque cela est nécessaire.

Exemple d'utilisation

Configurez une CDN une 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 obtient data-asset-cache-state="loading" pendant que la requête native s'exécute, puis reçoit l'URL de la source locale et se déplace vers ready.

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

Actifs Protégés

Les en-têtes sont envoyés par le plugin pendant qu'il récupère ou révalide le fichier distant. L'élément web reçoit uniquement 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 de CDN

Passer une URL absolue lorsque 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 configuration cdnUrl soit une configuration par appel cdnUrl.

Notes de stockage

Sur iOS, les fichiers vivent sous Application Support et sont exclus de la sauvegarde iCloud. Sur Android, les fichiers vivent sous le répertoire de fichiers internes de l'application. Le système ne traite pas ces fichiers comme des fichiers de cache disposables, mais l'annulation, la suppression des données de l'application, clear()et remove() supprimer toujours

Référence complète

Continuez à partir de l'utilisation de @capgo/capacitor-cache-asset

Si vous utilisez Utilisez @capgo/capacitor-cache-asset pour planifier le chargement de médias persistants, connectez-le avec @capgo/capacitor-cache-asset pour les détails d'implémentation, Démarrage pour les détails d'implémentation, @capgo/capacitor-téléchargeur pour les téléchargements de fond d'explication, et @capgo/capacitor-fichier pour l'accès général aux fichiers locaux.