본문 바로가기
@capgo/capacitor-native-loader UI & 시스템 오픈 소스

Native Loader Capacitor 플러그인

JavaScript 또는 네이티브 code를 통해 네이티브 애니메이션 로더, 투명 오버레이, Lottie 에셋, WebView 크기 조정 로딩 상태를 표시합니다.

설치

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

가이드

Capacitor에서 Native Loader 사용하는 법

@capgo/capacitor-native-loader 사용하기

@capgo/capacitor-native-loader iOS 및 Android 네이티브 뷰를 통해 로딩 상태를 렌더링합니다. WebView가 바쁠 때 로더를 부드럽게 유지해야 하거나, CSS로 투명 전체 화면 효과를 구현하기 무거울 때, 또는 JavaScript가 준비되기 전 네이티브 플러그인이 로딩 UI를 보여줘야 할 때 사용하세요.

설치

npm install @capgo/capacitor-native-loader
npx cap sync

전체 화면 Native Loader

import { NativeLoader } from '@capgo/capacitor-native-loader';

const { id } = await NativeLoader.show({
  style: 'siri',
  placement: 'fullscreen',
  message: 'Preparing your session',
  colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],
  scrimColor: 'rgba(3, 7, 18, 0.42)',
  interactionMode: 'block',
});

await initializeAppData();
await NativeLoader.hide({ id });

WebView 크기 조절 기능이 포함된 Edge Loader

await NativeLoader.setWebViewLayout({
  mode: 'inset',
  insets: { top: 96 },
  animated: true,
});

await NativeLoader.show({
  style: 'wave',
  placement: 'top',
  message: 'Syncing changes',
  interactionMode: 'passThrough',
});

로딩이 완료되면 WebView를 복구합니다:

await NativeLoader.hideAll({ restoreWebView: true });

Chrome 스타일 상단 프로그레스 바

과도한 작업 중 CSS 애니메이션을 요청하지 않고도, WebView 상단에 브라우저와 유사한 로딩 바를 표시하고 싶을 때 사용하세요.

const { id } = await NativeLoader.show({
  style: 'chrome',
  placement: 'top',
  colors: ['#4285f4', '#34a853', '#fbbc05', '#ea4335'],
  thickness: 4,
  interactionMode: 'passThrough',
  webView: {
    mode: 'resize',
    insets: { top: 12 },
    restoreOnHide: true,
  },
});

await NativeLoader.hide({ id, restoreWebView: true });

Siri V2 Edge Loader

사용하세요: siri-v2 WebView를 계속 보여주면서 화면 가장자리에 색상이 움직이는 네이티브 전체 화면 로더입니다.

const { id } = await NativeLoader.show({
  style: 'siri-v2',
  placement: 'fullscreen',
  colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],
  thickness: 10,
  scrimColor: 'rgba(3, 7, 18, 0.10)',
  interactionMode: 'passThrough',
});

await NativeLoader.hide({ id });

Lottie Loader

await NativeLoader.show({
  style: 'lottie',
  placement: 'center',
  asset: {
    type: 'lottie',
    source: 'loader.json',
    loop: true,
  },
});

Bundled assets는 네트워크 요청 및 JavaScript 초기화 전에 사용 가능하므로 스타트업 로더에 가장 적합합니다.

네이티브 플러그인 호출

이 플러그인은 공개 네이티브 API를 제공하여 다른 플러그인이 로더를 직접 표시하거나 숨길 수 있습니다.

Swift:

import CapgoCapacitorNativeLoader

let id = NativeLoader.shared.show(options: [
  "style": "orbit",
  "placement": "fullscreen",
  "message": "Opening secure session"
])

NativeLoader.shared.hide(id: id)

Kotlin:

import app.capgo.nativeloader.NativeLoader

val id = NativeLoader.show(
  activity = activity,
  options = mapOf(
    "style" to "orbit",
    "placement" to "fullscreen",
    "message" to "Loading profile",
  ),
  webView = bridge.webView,
)

NativeLoader.hide(id)

@capgo/capacitor-native-loader 사용법 다음 단계

사용 중인 경우 @capgo/capacitor-native-loader 사용하기 네이티브 미디어 및 인터페이스 동작을 설계하려면, 이를 다음 항목과 연결하세요 @capgo/capacitor-native-loader 구현 세부 사항은, 시작하기 설정용, @capgo/capacitor-native-navigation 사용하기 네이티브 Chrome 및 WebView 레이아웃용, @capgo/capacitor-transitions 사용하기 WebView 라우트 전환용.

자주 묻는 질문

Native Loader 플러그인 FAQ

Capacitor 앱에 Native Loader 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-native-loader" (또는 "npm install @capgo/capacitor-native-loader")를 실행한 후, "bunx cap sync"를 실행하여 iOS 및 Android 프로젝트에 native code가 반영되도록 합니다. 그 다음 앱의 "@capgo/capacitor-native-loader"에서 code를 import 하세요.

@capgo/capacitor-native-loader는 React, Vue, Angular와 함께 사용할 수 있나요?

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

@capgo/capacitor-native-loader는 어떤 Capacitor 버전을 지원하나요?

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

@capgo/capacitor-native-loader는 무료 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-native-loader/에서 공개되어 있으며, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request를 환영합니다.

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

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

앱 심사 대기 없이 Native Loader 변경 사항 배포

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

Capgo부터 시작하세요