Getting Started
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-native-loader`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/native-loader/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installazione
Sezione intitolata “Installazione”Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza la seguente richiesta:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-loader` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo dispositivo sotto:
-
Installa il pacchetto
Fermata di sistema bun add @capgo/capacitor-native-loaderbunx cap sync -
Mostra un caricatore nativo da JavaScript
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 });
Configura i valori di default
Configura Impostazioni Predefiniteawait NativeLoader.configure({ defaults: { style: 'orbit', placement: 'center', size: 96, colors: ['#38bdf8', '#a78bfa'], reducedMotion: 'system', interactionMode: 'passThrough', },});Caricatore in stile Chrome in alto
Sottosezione intitolata “Caricatore in stile Chrome in alto”Usa style: 'chrome' quando desideri il familiare progress bar del browser e il WebView dovrebbe rimanere utilizzabile sotto di esso.
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 });Caricatore Edge Siri V2
Sottosezione intitolata “Caricatore Edge Siri V2”Usa style: 'siri-v2' quando lo stato di caricamento dovrebbe essere un colore di movimento a schermo intero nativo intorno all'angolo dell'app invece di una carta centrata.
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 });Progresso dell'aggiornamento
Sezione intitolata “Progresso dell'aggiornamento”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 });Ridimensiona La WebView
Sezione intitolata “Ridimensiona La WebView”Usa setWebViewLayout quando un caricatore nativo dovrebbe possedere una parte dello schermo mentre il contenuto web rimane visibile e utilizzabile.
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',});Ripristina la disposizione originale quando la superficie nativa è scomparsa:
await NativeLoader.hideAll({ restoreWebView: true });Caricamento Lottie e immagini
Sottosezione intitolata “Caricamento Lottie e immagini”Compatta Lottie JSON o immagini nel pacchetto nativo e riferisciti a esse dal JavaScript.
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', },});Chiamate native Swift
Sottosezione intitolata “Chiamate native Swift”Altri plugin iOS possono chiamare direttamente il caricatore condiviso.
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)Chiamate native Kotlin
Sezione intitolata “Chiamate native Kotlin”Altri plugin Android possono chiamare l'oggetto pubblico da Kotlin o 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)Opzioni comuni
Sezione intitolata “Opzioni comuni”| Opzione | Tipo | Descrizione |
|---|---|---|
style | 'siri' | 'siri-v2' | 'chrome' | 'orbit' | 'ring' | 'pulse' | 'dots' | 'bars' | 'wave' | 'halo' | 'lottie' | 'image' | Renderer del caricatore |
placement | 'center' | 'top' | 'bottom' | 'left' | 'right' | 'fullscreen' | 'around' | 'custom' | Posizione della superficie nativa |
interactionMode | 'passThrough' | 'block' | 'loaderOnly' | Manipolazione del tocco |
backgroundColor | string | Colore dell'overlay, incluso l'alfa |
scrimColor | string | Fullscreen or around-screen scrim color |
colors | string[] | Colori del gradiente del caricatore |
progress | number | Valore determinato da 0 Verso 1 |
autoHide | number | Millesimi di secondo prima di nascondere automaticamente |
asset | object | Millisecondi prima di nascondersi automaticamente |
Use reducedMotion: 'system' rispettare le impostazioni di movimento della piattaforma dell'utente