내용으로 건너뛰기

시작하기

GitHub

AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 기능을 추가하려면 다음 명령어를 사용하세요:

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

그다음에 다음 명령어를 사용하세요:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-loader` plugin in my project.

만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래 플랫폼별 지침을 따르세요:

  1. 패키지 설치

    터미널 창
    bun add @capgo/capacitor-native-loader
    bunx cap sync
  2. 자바스크립트에서 네이티브 로더를 표시하세요

    import { NativeLoader } from '@capgo/capacitor-native-loader';
    const { id } = await NativeLoader.show({
    style: 'siri',
    placement: 'fullscreen',
    message: 'Preparing workspace',
    colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],
    scrimColor: 'rgba(3, 7, 18, 0.42)',
    interactionMode: 'block',
    });
    await doExpensiveWork();
    await NativeLoader.hide({ id });

기본값 구성

기본값 구성
await NativeLoader.configure({
defaults: {
style: 'orbit',
placement: 'center',
size: 96,
colors: ['#38bdf8', '#a78bfa'],
reducedMotion: 'system',
interactionMode: 'passThrough',
},
});

크롬 스타일 탑 로더

크롬 스타일 탑 로더

사용 style: 'chrome' 웹뷰 아래에서 사용할 수 있는 친숙한 브라우저 상단 진행 표시줄과 함께 익숙한 브라우저 상단 진행 표시줄을 원할 때

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

시리 V2 에지 로더

시리 V2 에지 로더

사용 style: 'siri-v2' 로딩 상태가 앱의 테두리 주변에서 원형으로 움직이는 네이티브 풀 스크린 색상이 아닌 중앙 카드가 아닌 경우 사용하세요.

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

업데이트 진행 상황

제목: 업데이트 진행 상황
const { id } = await NativeLoader.show({
style: 'ring',
message: 'Uploading',
progress: 0,
});
for await (const progress of uploadFile(file)) {
await NativeLoader.setProgress({ id, progress });
}
await NativeLoader.hide({ id });

웹뷰 크기 조절

제목: 웹뷰 크기 조절

사용 setWebViewLayout 네이티브 로더가 화면의 일부를 차지하면서 웹 콘텐츠가 보이면서 사용할 수 있는 경우 사용하세요.

await NativeLoader.setWebViewLayout({
mode: 'inset',
insets: { top: 96, bottom: 24 },
animated: true,
});
await NativeLoader.show({
style: 'wave',
placement: 'top',
size: 72,
message: 'Syncing',
interactionMode: 'passThrough',
});

네이티브 표면이 사라질 때 원래 레이아웃을 복원하세요:

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

로티(Lottie)와 이미지 로더

로티(Lottie)와 이미지 로더

로티 JSON 또는 이미지 자산을 네이티브 앱에 번들링하고 자바스크립트에서 참조합니다.

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

네이티브 스위프트 호출

로티(Lottie)와 이미지 로더

다른 iOS 플러그인은 공유 로더를 직접 호출할 수 있습니다.

import CapgoCapacitorNativeLoader
let id = NativeLoader.shared.show(options: [
"style": "siri",
"placement": "fullscreen",
"message": "Opening secure session",
"interactionMode": "block"
])
NativeLoader.shared.setProgress(id: id, progress: 0.6)
NativeLoader.shared.hide(id: id)

자연어 Kotlin 호출

자연어 Kotlin 호출

다른 Android 플러그인은 Kotlin 또는 Java에서 공용 객체를 호출할 수 있습니다.

import app.capgo.nativeloader.NativeLoader
val id = NativeLoader.show(
activity = activity,
options = mapOf(
"style" to "orbit",
"placement" to "fullscreen",
"message" to "Loading profile",
"interactionMode" to "block",
),
webView = bridge.webView,
)
NativeLoader.setProgress(id, 0.6)
NativeLoader.hide(id)

일반 옵션

일반 옵션
옵션타입설명
style'siri' | 'siri-v2' | 'chrome' | 'orbit' | 'ring' | 'pulse' | 'dots' | 'bars' | 'wave' | 'halo' | 'lottie' | 'image'로더 렌더러
placement'center' | 'top' | 'bottom' | 'left' | 'right' | 'fullscreen' | 'around' | 'custom'자연 표면 위치
interactionMode'passThrough' | 'block' | 'loaderOnly'터치 처리
backgroundColorstringOverlay 색상, alpha 포함
scrimColorstring전체 화면 또는 화면 주변 스크림 색상
colorsstring[]로더 그라디언트 색상
progressnumber정확한 값 0 에서 1
autoHidenumber자동으로 숨기기 전에 밀리초
assetobjectLottie 또는 이미지 자산 소스

사용 reducedMotion: 'system' 사용자의 플랫폼 모션 설정을 존중하기 위해