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 que 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 localement.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 revalidation.get,list,remove,clear, etgetCacheSize- 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 revalide 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() la suppression
Référence complète
- GitHub: https://github.com/Cap-go/capacitor-cache-asset/
- Docs: /docs/plugins/cache-asset/
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-le 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.