Avvio
Copia un promemoria 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 competenze al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-loader` plugin in my project.Se preferisci l'installazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
-
Installa il pacchetto
Finestra del terminale npm install @capgo/capacitor-native-loadernpx 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
Sezione intitolata “Configura i valori di default”await NativeLoader.configure({ defaults: { style: 'orbit', placement: 'center', size: 96, colors: ['#38bdf8', '#a78bfa'], reducedMotion: 'system', interactionMode: 'passThrough', },});Caricatore superiore a stile Chrome
Sezione intitolata “Caricatore superiore a 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
Sottosezione intitolata “Siri V2 Edge Loader”Usa style: 'siri-v2' quando lo stato di caricamento dovrebbe essere un movimento di colore a schermo intero nativo intorno all'angolo dell'applicazione 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 });Aggiorna il Progresso
Sottosezione intitolata “Aggiorna il Progresso”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 Il WebView
Sezione intitolata “Ridimensiona La Vista Web”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 });Lottie E Caricamenti Delle Immagini
Sezione intitolata “Lottie E Caricamenti Delle Immagini”Includi i file JSON di Lottie o gli asset delle immagini nel pacchetto dell'app nativa e riferisciti da 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”Gli 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
Sottosezione intitolata “Chiamate native Kotlin”Gli 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
Sottosezione intitolata “Opzioni comuni”| Opzione | Tipo | Descrizione |
|---|---|---|
style | 'siri' | 'siri-v2' | 'chrome' | 'orbit' | 'ring' | 'pulse' | 'dots' | 'bars' | 'wave' | 'halo' | 'lottie' | 'image' | Renderer del caricatore nativo |
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 |
colors | string[] | Colori del gradiente del caricatore |
progress | number | Valore determinato da 0 Verso 1 |
autoHide | number | Millisecondi prima di nascondersi automaticamente |
asset | object | Fonte di Lottie o asset di immagine |
Usa reducedMotion: 'system' per rispettare le impostazioni di movimento della piattaforma dell'utente.