본문 바로가기
@capgo/capacitor-asset-cache 파일 및 스토리지 오픈 소스

에셋 캐시 Capacitor 플러그인

CDN 이미지와 비디오를 앱의 영구 저장소에 캐싱하고 로컬 미디어 소스로 바인딩합니다

설치

bun add @capgo/capacitor-asset-cache bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-asset-cache
  • pnpm add @capgo/capacitor-asset-cache
  • yarn add @capgo/capacitor-asset-cache

가이드

Capacitor에서 Asset Cache 사용법

@capgo/capacitor-asset-cache를 사용하여

@capgo/capacitor-asset-cache 대용량 CDN 이미지와 비디오를 앱 소유의 영구 저장소에 저장한 뒤, Capacitor 웹뷰에 로컬 소스 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" 상태가 되며, 네이티브 fetch가 실행된 후 로컬 소스 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 Base URL을 사용하지 않는 경우

설정하지 않으려면 절대 URL을 전달하세요 cdnUrl.

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

상대 경로를 사용하려면 설정된 CDN Base URL 또는 cdnUrl 호출별 URL이 필요합니다. cdnUrl.

스토리지 참고 사항

iOS에서 파일은 Application Support 아래에 저장되며 iCloud 백업에서 제외됩니다. Android에서는 앱 내부 파일 디렉토리에 저장됩니다. 시스템은 이 파일들을 임시 캐시 파일로 취급하지 않지만, 앱을 삭제하거나 앱 데이터를 지우면 clear(), 그리고 remove() 여전히 삭제됩니다.

전체 레퍼런스

@capgo/capacitor-asset-cache 사용하기부터 계속하기

사용 중이라면 @capgo/capacitor-asset-cache를 사용하여 지속적인 미디어 로딩을 계획하려면 다음을 연결하세요: @capgo/capacitor-asset-cache 구현 세부 사항은 다음을 참조하세요: 시작하기 구현 세부 사항은 다음을 참조하세요: @capgo/capacitor-downloader 명시적 백그라운드 다운로드용이며, @capgo/capacitor-file 일반적인 로컬 파일 접근을 위해 사용합니다.

자주 묻는 질문

Asset Cache 플러그인 FAQ

Capacitor 앱에 Asset Cache 플러그인을 설치하는 방법은 무엇인가요?

"bun add @capgo/capacitor-asset-cache"(또는 "npm install @capgo/capacitor-asset-cache")을 실행한 후, iOS 및 Android 프로젝트가 네이티브 code를 인식하도록 "bunx cap sync"를 실행하세요. 앱 code에서 "@capgo/capacitor-asset-cache"로 가져오세요.

@capgo/capacitor-asset-cache은 React, Vue, Angular와 호환되나요?

네. Asset Cache는 Capacitor 패키지이므로, Ionic, React, Vue, Angular, Svelte 및 순수 JavaScript를 포함하여 Capacitor 내에서 실행되는 모든 웹 프레임워크와 호환됩니다.

@capgo/capacitor-asset-cache이 지원하는 Capacitor 버전은 무엇인가요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-asset-cache은 무료이며 오픈 소스인가요?

네. 소스 code는 https://github.com/Cap-go/capacitor-asset-cache/에서 GitHub에 공개되어 있으며, npm에서 무료로 설치할 수 있습니다. 버그 보고와 풀 리퀘스트를 환영합니다.

Asset Cache를 사용하는 code을 App Store 심사 없이 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 심사 대기 없이 Asset Cache 변경 사항을 즉시 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기