Passer à la navigation

@capgo/capacitor-cache-asset

Cachez les médias de la CDN lourde dans le stockage persistant de l'application et liez les images ou les vidéos aux URL de la vue web locale.

Affichage local uniquement des sources

src, resolveet bind renvoyez une source uniquement après l'existence d'un fichier local. Votre balise img ou vidéo reçoit une URL de vue web locale.

Stockage natif persistant

Les actifs stockés en cache vivent dans un stockage persistant appartenant à l'application, et non dans le dossier de cache de la plateforme que le système peut évacuer sous pression.

Support CDN protégé

Transmettre les en-têtes à la requête native pour les actifs signés ou authentifiés tandis que l'élément web charge uniquement le fichier local.

Liaison de liaison amicale avec le framework

Lier la résolution de cache natif à HTML simple, des références React, des références Vue ou tout framework pouvant attribuer une source img ou vidéo.

@capgo/capacitor-asset-cache cache de grandes images, vidéos et autres actifs CDN dans un stockage persistant appartenant à l'application, puis donne à l'application web une URL de source locale pour la mise en page.

La voie normale est :

  1. Configurer une URL CDN de base une fois, ou passer une URL absolue par actif.
  2. Appel AssetCache.bind(element, path) ou AssetCache.src(path).
  3. The plugin récupère ou révalide l'actif distant nativement.
  4. L'élément reçoit une URL de vue web locale uniquement après que le fichier local est prêt.

Utilisez la cache d'actif lorsque votre application affiche des médias distants lourds qui doivent survivre à la pression de stockage normale :

  • vidéos de démarrage ou de marketing servies à partir d'un CDN
  • images d'hero, de galeries ou de séquences d'images réutilisées entre sessions
  • médias protégés qui nécessitent des en-têtes de requête
  • écrans tolérants à l'arrêt où un élément local préalablement téléchargé est suffisant
  • Capacitor applications où <img> et <video> ne devrait pas charger directement les URL protégées
  • configure(options) fixe le comportement par défaut du CDN et de la révalidation.
  • bind(element, path, options?) met à jour un élément d'image ou de vidéo lorsque 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 plus les métadonnées de cache.
  • get(options) résout une URL distante en métadonnées de fichier natif persistant.
  • remove(options) supprime un asset caché par clé ou URL.
  • clear() supprime tous les assets cachés gérés par le plugin.
  • list() renvoie les assets cachés qui existent toujours sur le disque.
  • getCacheSize() renvoie les octets cachés totaux.
  • getPluginVersion() renvoie la marque de version de l'implémentation native.

La cache peut être vérifiée de différentes manières par asset ou par défaut :

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

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

Le cache est caché à l'intérieur du sandbox de l'application et n'est pas visible comme média utilisateur public. Il est supprimé lorsque l'application est désinstallée, lorsque l'utilisateur supprime les données de l'application, ou lorsque votre application appelle clear() ou remove().

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