Passer à la navigation principale
Retour aux plugins
@capgo/capacitor-cache-d'actifs
Tutoriel
@capgo/capacitor-cache-d'actifs

Cache d'actifs

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

Guide

Tutoriel sur la mise en cache d'actifs

Utilisez @capgo/capacitor-asset-cache

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

Installer

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

Ce plugin expose

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

Exemple d'utilisation

Configurez un 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 lorsqu'il charge 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 CDN

Fournissez 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 demande 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 des fichiers internes de l'application. Le système ne traite pas ces fichiers comme des fichiers de cache non essentiels, mais la désinstallation, la suppression des données de l'application, clear()et remove() suppriment toujours les fichiers.

Référence complète

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

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