Iniziare
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.
Istallazione
Sottosezione intitolata “Istallazione”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
Fenestra 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
Sottosezione 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
Sottosezione 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 });Caricatori Lottie E Immagini
Sezione intitolata “Caricatori Lottie E Immagini”Compatta 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 Swift native
Sottosezione intitolata “Chiamate Swift native”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 Kotlin native
Sottosezione intitolata “Chiamate Kotlin native”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 intorno |
colors | string[] | Colori del gradiente del caricatore |
progress | number | Valore determinato da 0 Verso 1 |
autoHide | number | Context: Pagina/area: Pagina del prodotto Live updates. Ruolo: Etichetta UI breve o elemento di navigazione. Chiave del messaggio `live_update_dynamic_label_to` (Live Update Dynamic Label To). |
asset | object | Fonte di Lottie o immagine |
Usa reducedMotion: 'system' per rispettare le impostazioni di movimento della piattaforma dell'utente.