내용으로 건너뛰기

@capgo/capacitor-자산 캐시

앱 소유의 영구 저장소에서 캐시 하중 CDN 미디어를 저장하고 이미지나 비디오를 로컬 웹뷰 URL로 바인딩합니다.

지역 전용 표시 소스

src, resolve, 그리고 bind 지역 파일이 존재하는 후에 소스를 반환합니다. img 또는 video 태그는 로컬 웹뷰 URL을 받습니다.

영구 네이티브 저장소

캐시된 자산은 앱 소유의 영구 저장소에 저장되며, 시스템이 압박을 받을 때 플랫폼 캐시 폴더를 삭제할 수 있습니다.

보호된 CDN 지원

인증된 자산이나 서명된 자산을 로드하는 동안 웹 요소가 로컬 파일만 로드하는 동안 네이티브 fetch에 헤더를 전달합니다.

프레임워크 친화적인 바인딩

영구 캐시 해제를 일반 HTML, React refs, Vue refs, 또는 img 또는 video src를 할당할 수 있는 프레임워크와 연결합니다.

@capgo/capacitor-asset-cache 대형 이미지, 비디오 및 기타 CDN 자산을 앱 소유의 영구 저장소에 캐시하고 웹 앱에 로컬 소스 URL을 제공합니다.

일반적인 경로는 다음과 같습니다.

  1. CDN 기본 URL을 한 번만 구성하거나 자산당 절대 URL을 전달합니다.
  2. Call AssetCache.bind(element, path) 또는 AssetCache.src(path).
  3. 원격 자산을 직접 가져오거나 재검증합니다.
  4. local webview URL만 element가 준비된 local file이 나중에 받습니다.

사용하는 경우

사용하는 시점

Asset Cache를 사용하세요. 앱이 normal storage pressure를 견딜 수 있는 heavy remote media를 표시할 때:

  • CDN에서 온보딩 또는 마케팅 비디오
  • 세션을跨越하는 이미지 갤러리나 이미지 시퀀스
  • 요청 헤더가 필요한 보호된 미디어
  • 이전에 로컬로 가져온 이전에 가져온 지역 자산이 충분한 오프라인 친화적인 화면
  • Capacitor 앱에서 <img> and <video> 직접 보호된 URL을 가져오지 않도록해야합니다.

Core API

Core API
  • configure(options) 기본 CDN 및 재검증 동작을 설정합니다.
  • bind(element, path, options?) 이미지 또는 비디오 요소를 로컬 파일이 준비되면 업데이트합니다.
  • src(path, options?) 프레임워크 상태를위한 지역 소스 문자열을 반환합니다.
  • resolve(path, options?) targetLanguage":"Korean"
  • get(options) pagePath":"/ko/docs/plugins/asset-cache/"
  • remove(options) 캐시된 자산을 키 또는 URL로 하나 제거합니다.
  • clear() {"text":"returns the local source plus cache metadata."}
  • list() {"text":"resolves a remote URL into persistent native file metadata."}
  • getCacheSize() {"text":"cached asset을 삭제합니다. (key 또는 URL로 삭제)."]
  • getPluginVersion() {"text":"cached asset을 모두 삭제합니다."}

{"text":"disk에 남아있는 cached asset을 반환합니다."}

{"text":"cached byte의 총량을 반환합니다."}

{"text":"native implementation version marker를 반환합니다."}

StrategyBehavior
never로컬 파일이 존재할 때 사용하세요.
ttl다시 다운로드 후 maxAgeSeconds.
always모든 호출에서 재검증하고 알려진 검증자 전송
etag알려진 HTTP ETag 검증자 사용할 때
last-modified알려진 HTTP Last-Modified 검증자 사용할 때

저장 모델

Storage Model

iOS에서는 파일이 Application Support 하위에 저장되고 캐시 루트는 iCloud 백업에서 제외됩니다. Android에서는 파일이 앱 내부 파일 디렉토리 하위에 저장됩니다.

캐시는 앱 샌드박스 내부에 숨겨져 있으며 공공 사용자 미디어로 표시되지 않습니다. 앱이 삭제되면, 사용자가 앱 데이터를 삭제하거나 앱이 clear() 또는 remove().

이 기능을 사용 중이라면 @capgo/capacitor-자산 캐시 persistent media loading을 계획하려면 연결하세요 시작하기 implementation details를 위해 @capgo/capacitor-다운로더 explicit background downloads를 위해 @capgo/capacitor-파일 일반적인 로컬 파일 접근을 위해 @Capgo capgo-capacitor 캐시 tutorial을 위해