メインコンテンツにジャンプ
プラグインに戻る
@capgo/capacitor-アセットキャッシュ
チュートリアル
@capgo/capacitor-アセットキャッシュ

アセット キャッシュ

CDN画像や動画を永続化アプリストレージにキャッシュし、ローカルメディアソースとしてバインドする

ガイド

アセットキャッシュのチュートリアル

Using @capgo/capacitor-asset-cache

@capgo/capacitor-asset-cache アプリ所有の永続ストレージに大きなCDN画像や動画を保存し、CapacitorのWebビュー用にローカルソースURLを返します。

インストール

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

このプラグインが公開するもの

  • bind -ローカルアセットソースに画像または動画要素を追加し、使用可能になったら更新します。
  • src -ローカルにアセットが存在する場合にローカルソース文字列を返します。
  • resolve - ローカルソースとキャッシュメタデータを返します。
  • configure - デフォルトのCDNと再検証の動作を設定します。
  • get, list, remove, clear, そして getCacheSize - キャッシュを明示的に管理する必要がある場合にのみ。

例の使用

CDNを一度設定し、相対パスのバインド要素を設定します。

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');
}

要素は data-asset-cache-state="loading" ネイティブのフェッチが実行されるときに、ローカルソースURLを受け取り、 ready.

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

保護されたアセット

ヘッダーは、プラグインがリモートファイルをフェッチまたは再検証するときに送信されます。ウェブ要素は、ローカルソースURLのみを受け取ります。

const src = await AssetCache.src('private/videos/intro.mp4', {
  cdnUrl: 'https://cdn.example.com/assets/',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});

CDNベースURLなし

絶対URLを渡すと、CDNを設定しない場合に使用します。 cdnUrl.

const src = await AssetCache.src('https://cdn.example.com/assets/videos/intro.mp4');

相対パスは、設定された cdnUrl または cdnUrl.

ストレージの注意

iOSでは、ファイルはアプリケーションサポート下にあり、iCloudバックアップから除外されます。Androidでは、ファイルはアプリの内部ファイルディレクトリ下にあります。システムは、これらのファイルを廃棄可能なキャッシュファイルとして扱いませんが、アンインストール、アプリデータクリア clear(), remove() ファイルは削除されます。

フルリファレンス

使用中の@capgo/capacitor-asset-cacheから続けてください。

Capacitor Asset Cacheプラグインを使用している場合 Using @capgo/capacitor-asset-cache を使用して @capgo/capacitor-asset-cache の実装詳細 はじめに の実装詳細 @capgo/capacitor-downloader の明示的なバックグラウンドダウンロード @capgo/capacitor-file の一般的なローカルファイルアクセス