Aller au contenu

@capgo/capacitor-asset-cache

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

Sources d'affichage locales uniquement

src, resolve, et bind ne renvoie une source qu'une fois qu'un fichier local existe. Votre balise img ou video reçoit une URL webview locale.

Stockage natif persistant

Cached assets live in app-owned persistent storage, not the platform cache folder that the system may evict under pressure.

Support CDN protégé

Passez des headers au fetch natif pour les assets signés ou authentifiés, tandis que l'élément web charge uniquement le fichier local.

Binding compatible avec votre framework

Liez la résolution du cache natif à du HTML pur, des refs React, des refs Vue ou tout framework capable d'assigner un src img ou video.

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

Commencez par cancel() et les autres méthodes principales listées ci-dessous.

PlateformeSupportNotes
iOSOuiNatif
AndroidOuiNatif
WebNonSécurisez avec Capacitor.getPlatform()

Utilisez Asset Cache lorsque votre application affiche des médias distants volumineux qui doivent résister à la pression de stockage habituelle :

  • vidéos d'onboarding ou de marketing servies via un CDN
  • images de héros, galeries ou séquences d'images réutilisées entre les sessions
  • médias protégés nécessitant des headers de requête
  • écrans tolérants au mode hors ligne où un asset local précédemment récupéré suffit
  • Capacitor apps où <img> et <video> ne doivent pas récupérer les URLs protégées directement
  • configure(options) définit le CDN par défaut et le comportement de revalidation.
  • bind(element, path, options?) met à jour un élément image ou vidéo quand le fichier local est prêt.
  • src(path, options?) renvoie une chaîne de source locale pour l'état du framework.
  • resolve(path, options?) renvoie la source locale ainsi que les métadonnées du cache.
  • get(options) résout une URL distante en métadonnées de fichier natif persistant.
  • remove(options) supprime un asset mis en cache par clé ou par URL.
  • clear() supprime tous les assets mis en cache et gérés par le plugin.
  • list() renvoie les assets en cache toujours présents sur le disque.
  • getCacheSize() renvoie le nombre total d'octets en cache.
  • getPluginVersion() renvoie le marqueur de version de l'implémentation native.

Le cache peut être vérifié de différentes manières selon l'asset ou via les paramètres par défaut :

StratégieComportement
neverUtiliser le fichier local s'il est présent.
ttlRetélécharger après maxAgeSeconds.
alwaysRevalider à chaque appel et envoyer les validateurs connus.
etagUtiliser le validateur HTTP ETag connu s'il est présent.
last-modifiedUtiliser le validateur HTTP Last-Modified connu s'il est présent.

Sur iOS, les fichiers sont stockés sous Application Support et la racine du cache est exclue de la sauvegarde iCloud. Sur Android, les fichiers sont stockés dans le répertoire interne de l'application.

Le cache est caché dans le sandbox de l'application et n'est pas visible comme média utilisateur public. Il est supprimé lors de la désinstallation de l'app, quand l'utilisateur efface les données de l'app, ou quand votre app appelle clear() ou remove().

Pour aller plus loin avec @capgo/capacitor-asset-cache

Section intitulée « Pour aller plus loin avec @capgo/capacitor-asset-cache »

Si vous utilisez @capgo/capacitor-asset-cache pour planifier le chargement persistant de médias, connectez-l’avec Premiers pas pour les détails d'implémentation, @capgo/capacitor-downloader for explicit background downloads, @capgo/capacitor-file pour l'accès général aux fichiers locaux, et Utilisation de @capgo/capacitor-asset-cache pour ce tutoriel.