Avvio
Copia un prompt di configurazione con i passaggi 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 dall'IA per installare il plugin. Aggiungi le Capgo abilità al tuo strumento di 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 platform:
-
Installa il pacchetto
Finestra del terminale npm install @capgo/capacitor-native-loadernpx cap sync -
Mostra un caricamento 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 predefiniti
Sezione intitolata “Configura i valori predefiniti”await NativeLoader.configure({ defaults: { style: 'orbit', placement: 'center', size: 96, colors: ['#38bdf8', '#a78bfa'], reducedMotion: 'system', interactionMode: 'passThrough', },});Caricamento superiore di stile Chrome
Sezione intitolata “Caricamento superiore di stile Chrome”Usa style: 'chrome' quando desideri la barra di avanzamento del browser familiare e il WebView dovrebbe rimanere utilizzabile sotto di essa.
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 Edge LoaderUsa style: 'siri-v2' quando lo stato di caricamento dovrebbe essere un colore di movimento a schermo intero nativo intorno all'orlo dell'applicazione al posto 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 });Aggiorna il progresso
Aggiorna il progressoconst { 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
Ridimensiona La WebViewUsa 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 è andata:
await NativeLoader.hideAll({ restoreWebView: true });Lottie E Caricamento Delle Immagini
Sezione intitolata “Lottie E Caricamento Delle Immagini”Bundle Lottie JSON o asset di immagine nell'app nativa e riferiscili 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
Sezione intitolata “Chiamate native Swift”Altri plugin iOS possono chiamare il caricatore condiviso direttamente.
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' | Gestione del tocco |
backgroundColor | string | Colore dell'overlay, incluso l'alfa |
scrimColor | string | Colore dello schermo o dello schermo circostante per la scrim |
colors | string[] | Colore del caricatore a gradiente |
progress | number | Valore determinato da 0 a 1 |
autoHide | number | Millesimi di secondo prima di nascondere automaticamente |
asset | object | Fonte dell'asset Lottie o dell'immagine |
Usa reducedMotion: 'system' per rispettare le impostazioni di movimento della piattaforma dell'utente.