Zum Hauptinhalt springen
@capgo/capacitor-native-loader UI & System Open Source

Native Loader Capacitor Plugin

Zeige native animierte Loader, transparente Overlays, Lottie-Assets und WebView-resizing Loading States via JavaScript oder nativem code

Installieren

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

Anleitung

Native Loader in Capacitor nutzen

Verwendung von @capgo/capacitor-native-loader

@capgo/capacitor-native-loader rendert Loading-States über native iOS- und Android-Views. Nutze es, wenn ein Loader flüssig bleiben muss, während die WebView beschäftigt ist, wenn transparente Fullscreen-Effekte in CSS zu teuer sind oder wenn ein anderes natives Plugin ein Loading-UI anzeigen muss, bevor JavaScript bereit ist.

Installieren

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

Fullscreen Native Loader

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

Edge Loader mit WebView-Resize

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

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

When loading finishes, restore the WebView:

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

Chrome-Style Fortschrittsbalken oben

Nutze den nativen Top-Progress-Loader für einen browserähnlichen Ladebalken über der WebView, ohne CSS bei hoher CPU-Last animieren zu müssen.

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

Nutze siri-v2 für einen nativen Fullscreen-Loader, der Farben am Bildschirmrand bewegt, während die WebView sichtbar bleibt.

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

Bundled Assets eignen sich am besten für Startup-Loader, da sie bereits vor Netzwerk-Requests und der JavaScript-Initialisierung verfügbar sind.

Native Plugin-Aufrufe

Das Plugin stellt öffentliche native APIs bereit, damit andere Plugins Loader direkt ein- oder ausblenden können.

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)

Weiterlesen: Nutzung von @capgo/capacitor-native-loader

Wenn Sie ... verwenden Nutzung von @capgo/capacitor-native-loader um natives Medien- und Interface-Verhalten zu planen, verbinde es mit @capgo/capacitor-native-loader für Implementierungsdetails, Erste Schritte für das Setup, Verwendung von @capgo/capacitor-native-navigation für das native Chrome- und WebView-Layout sowie Verwendung von @capgo/capacitor-transitions für WebView-Route-Animationen.

FAQ

Native Loader Plugin FAQ

Wie installiere ich das Native Loader Plugin in einer Capacitor App?

Führe "bun add @capgo/capacitor-native-loader" (oder "npm install @capgo/capacitor-native-loader") aus und danach "bunx cap sync", damit die iOS- und Android-Projekte das native code übernehmen. Importiere es in deiner App code aus "@capgo/capacitor-native-loader".

Funktioniert @capgo/capacitor-native-loader mit React, Vue und Angular?

Ja. Native Loader ist ein Capacitor Package und funktioniert daher mit jedem Web-Framework, das in Capacitor läuft, einschließlich Ionic, React, Vue, Angular, Svelte und reinem JavaScript.

Welche Capacitor Version wird von @capgo/capacitor-native-loader unterstützt?

Capgo Plugins folgen der Major-Version von Capacitor: Nutze die Plugin-Major-Version, die zu deiner Capacitor Major-Version passt (z. B. Plugin v8 mit Capacitor 8). Die Kompatibilitätstabelle im GitHub README listet die gepflegten Versionen auf.

Ist @capgo/capacitor-native-loader kostenlos und Open Source?

Ja. Der code Quellcode ist auf GitHub unter https://github.com/Cap-go/capacitor-native-loader/ öffentlich einsehbar und das Paket kann kostenlos via npm installiert werden. Bug-Reports und Pull Requests sind willkommen.

Kann ich code mit Native Loader aktualisieren, ohne ein App Store Review abzuwarten?

Die Installation oder das Upgrade des Plugins ändert den nativen code, deshalb ist ein neuer Store-Build nötig. Danach lassen sich JavaScript-, HTML- und CSS-Änderungen, die das Plugin aufrufen, sofort mit Capgo Live Updates ausliefern.

Native Loader Änderungen ohne App-Review ausrollen

Sobald das Plugin in deinem Store-Build ist, pushen Capgo Live Updates deine JavaScript-, HTML- und CSS-Änderungen in Minuten an die Nutzer.

Starte mit Capgo