Langsung ke konten utama
@capgo/capacitor-native-loader UI & Sistem Open source

Native Loader plugin Capacitor

Tampilkan loader animasi native, overlay transparan, aset Lottie, dan loading state yang mengubah ukuran WebView dari JavaScript atau native code

Instal

bun add @capgo/capacitor-native-loader bunx cap sync
npm, pnpm atau yarn
  • npm install @capgo/capacitor-native-loader
  • pnpm add @capgo/capacitor-native-loader
  • yarn add @capgo/capacitor-native-loader

Panduan

Cara menggunakan Native Loader di Capacitor

Menggunakan @capgo/capacitor-native-loader

@capgo/capacitor-native-loader menampilkan status loading melalui view native iOS dan Android. Gunakan ini ketika loader perlu tetap mulus saat WebView sedang sibuk, ketika efek fullscreen transparan mahal di CSS, atau ketika plugin native lain perlu menampilkan UI loading sebelum JavaScript siap.

Instal

npm install @capgo/capacitor-native-loader
npx cap sync

Loader Native Layar Penuh

import { NativeLoader } from '@capgo/capacitor-native-loader';

const { id } = await NativeLoader.show({
  style: 'siri',
  placement: 'fullscreen',
  message: 'Preparing your session',
  colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],
  scrimColor: 'rgba(3, 7, 18, 0.42)',
  interactionMode: 'block',
});

await initializeAppData();
await NativeLoader.hide({ id });

Loader Edge dengan Resize WebView

await NativeLoader.setWebViewLayout({
  mode: 'inset',
  insets: { top: 96 },
  animated: true,
});

await NativeLoader.show({
  style: 'wave',
  placement: 'top',
  message: 'Syncing changes',
  interactionMode: 'passThrough',
});

Saat loading selesai, pulihkan WebView:

await NativeLoader.hideAll({ restoreWebView: true });

Progress Atas Bergaya Chrome

Gunakan native top progress loader jika Anda ingin loading bar bergaya browser di atas WebView tanpa memaksa CSS beranimasi saat beban kerja berat.

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

Gunakan siri-v2 untuk native full-screen loader yang memindahkan warna di tepi layar sementara WebView tetap terlihat.

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 });

Lottie Loader

await NativeLoader.show({
  style: 'lottie',
  placement: 'center',
  asset: {
    type: 'lottie',
    source: 'loader.json',
    loop: true,
  },
});

Aset yang dibundel paling cocok untuk startup loader karena tersedia sebelum permintaan jaringan dan inisialisasi JavaScript.

Panggilan Plugin Native

Plugin ini mengekspos API native publik sehingga plugin lain dapat menampilkan atau menyembunyikan loader secara langsung.

Swift:

import CapgoCapacitorNativeLoader

let id = NativeLoader.shared.show(options: [
  "style": "orbit",
  "placement": "fullscreen",
  "message": "Opening secure session"
])

NativeLoader.shared.hide(id: id)

Kotlin:

import app.capgo.nativeloader.NativeLoader

val id = NativeLoader.show(
  activity = activity,
  options = mapOf(
    "style" to "orbit",
    "placement" to "fullscreen",
    "message" to "Loading profile",
  ),
  webView = bridge.webView,
)

NativeLoader.hide(id)

Lanjutkan dari Menggunakan @capgo/capacitor-native-loader

Jika Anda menggunakan Menggunakan @capgo/capacitor-native-loader untuk merencanakan perilaku media dan antarmuka native, hubungkan dengan @capgo/capacitor-native-loader untuk detail implementasi, Panduan Memulai untuk setup, Menggunakan @capgo/capacitor-native-navigation untuk layout chrome native dan WebView, dan Menggunakan @capgo/capacitor-transitions untuk transisi rute WebView.

FAQ

FAQ plugin Native Loader

Bagaimana cara menginstal plugin Native Loader di aplikasi Capacitor?

Jalankan "bun add @capgo/capacitor-native-loader" (atau "npm install @capgo/capacitor-native-loader"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mengambil code native. Impor dari "@capgo/capacitor-native-loader" di code aplikasi Anda.

Apakah @capgo/capacitor-native-loader bekerja dengan React, Vue, dan Angular?

Ya. Native Loader adalah paket Capacitor, jadi bekerja dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript murni.

Versi Capacitor mana yang didukung @capgo/capacitor-native-loader?

Plugin Capgo mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor Anda (contoh: plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang masih di-maintain.

Apakah @capgo/capacitor-native-loader gratis dan open source?

Ya. Source code tersedia secara publik di GitHub pada https://github.com/Cap-go/capacitor-native-loader/ dan paketnya gratis untuk diinstal dari npm. Bug report dan pull request sangat diterima.

Bisakah saya memperbarui code yang menggunakan Native Loader tanpa review App Store?

Instalasi atau upgrade plugin akan mengubah native code, jadi butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin bisa langsung dikirim lewat live updates Capgo.

Rilis perubahan Native Loader tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, live updates Capgo akan mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo