Mulai
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
Pemasangan
Bagian berjudul “Pemasangan”Anda dapat menggunakan Setup Bantuan AI kami untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-loader` plugin in my project.Jika Anda lebih suka Setup Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:
-
Instal paket
Tampilan jendela terminal npm install @capgo/capacitor-native-loadernpx cap sync -
Tampilkan loader native dari 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 });
Konfigurasi Default
Bab yang berjudul “Konfigurasi Default”await NativeLoader.configure({ defaults: { style: 'orbit', placement: 'center', size: 96, colors: ['#38bdf8', '#a78bfa'], reducedMotion: 'system', interactionMode: 'passThrough', },});Loader Top Chrome-Style
Bab yang berjudul “Loader Top Chrome-Style”Menggunakan style: 'chrome' ketika Anda ingin bar kemajuan browser di atas dan WebView harus tetap dapat digunakan di bawahnya.
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
Bab berjudul “Siri V2 Edge Loader”Menggunakan style: 'siri-v2' ketika status loading harus menjadi gerakan penuh layar warna asli di sekitar aplikasi bukan kartu berpusat.
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 });Mengupdate Kemajuan
Bab berjudul “Mengupdate Kemajuan”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 });Menggunakan Siri V2 Edge Loader untuk Mengupdate Kemajuan
Judul Bagian: “Mengatur Ukuran WebView”Pilih setWebViewLayout ketika loader native harus menguasai sebagian layar sementara konten web tetap terlihat dan dapat digunakan.
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',});Pulihkan tata letak asli ketika permukaan native hilang:
await NativeLoader.hideAll({ restoreWebView: true });Pemanggilan Lottie dan Gambar
Judul Bagian: “Pemanggilan Lottie dan Gambar”Gabungkan JSON Lottie atau aset gambar dalam aplikasi native dan referensikan dari 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', },});Native Swift Calls
Judul Bagian “Native Swift Calls”Plugin iOS lainnya dapat memanggil loader bersama secara langsung.
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)Native Kotlin Calls
Judul Bagian “Native Kotlin Calls”Plugin Android lainnya dapat memanggil objek publik dari Kotlin atau 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)Pilihan Umum
Judul Bagian “Pilihan Umum”| Opsi | Jenis | Deskripsi |
|---|---|---|
style | 'siri' | 'siri-v2' | 'chrome' | 'orbit' | 'ring' | 'pulse' | 'dots' | 'bars' | 'wave' | 'halo' | 'lottie' | 'image' | Pengaturan Loader |
placement | 'center' | 'top' | 'bottom' | 'left' | 'right' | 'fullscreen' | 'around' | 'custom' | Posisi permukaan native |
interactionMode | 'passThrough' | 'block' | 'loaderOnly' | Pengaturan sentuhan |
backgroundColor | string | Warna lapisan overlay, termasuk alpha |
scrimColor | string | Warna scrim penuh layar atau sekitar layar |
colors | string[] | Warna gradasi loader |
progress | number | Nilai determinasi dari 0 ke 1 |
autoHide | number | context: Halaman/area: Halaman produk produk live update. Peran: Label UI singkat atau item navigasi. Kunci pesan `live_update_dynamic_label_to` (Live Update Dynamic Label To). |
asset | object | Lokasi Sumber Lottie atau Asset Gambar |
Pilih reducedMotion: 'system' Untuk menghormati pengaturan gerakan platform pengguna.