Aller au contenu principal
@capgo/capacitor-native-loader UI & système Open source

Chargement natif Plugin Capacitor

Affichez des loaders natifs animés, des overlays transparents, des assets Lottie et des états de chargement redimensionnant la WebView depuis JavaScript ou code natif

Installer

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

Guide

Comment utiliser Native Loader dans Capacitor

Utiliser @capgo/capacitor-native-loader

@capgo/capacitor-native-loader affiche les états de chargement via des vues natives iOS et Android. Utilisez-le lorsque le loader doit rester fluide pendant que le WebView est occupé, lorsque les effets plein écran transparents sont coûteux en CSS, ou lorsqu'un autre plugin natif doit afficher une UI de chargement avant que JavaScript ne soit prêt.

Installer

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

Loader natif plein écran

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 avec redimensionnement de la WebView

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

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

Une fois le chargement terminé, restaurez la WebView :

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

Barre de progression supérieure style Chrome

Utilisez le loader de progression natif pour afficher une barre de chargement de type navigateur au-dessus de la WebView, sans solliciter le CSS pour l'animation lors de tâches intensives.

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

Loader edge style Siri V2

Utiliser siri-v2 pour un loader natif plein écran qui fait défiler une couleur sur le bord de l'écran pendant que la WebView reste visible.

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

Les assets intégrés au bundle sont idéaux pour les loaders de démarrage, car ils sont disponibles avant les requêtes réseau et l'initialisation JavaScript.

Appels aux plugins natifs

Le plugin expose des API natives publiques pour qu'un autre plugin puisse afficher ou masquer les loaders directement.

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)

Continuer avec l'utilisation de @capgo/capacitor-native-loader

Si vous utilisez Utiliser @capgo/capacitor-native-loader pour planifier le comportement des médias et de l'interface natifs, connectez-l’à @capgo/capacitor-native-loader pour les détails d'implémentation, Prise en main for setup, Utilisation de @capgo/capacitor-native-navigation pour la mise en page native Chrome et WebView, et Utiliser @capgo/capacitor-transitions pour les transitions de route WebView.

FAQ

FAQ du plugin Native Loader

Comment installer le plugin Native Loader dans une application Capacitor ?

Exécutez « bun add @capgo/capacitor-native-loader » (ou « npm install @capgo/capacitor-native-loader »), puis lancez « bunx cap sync » pour que les projets iOS et Android prennent en compte le code natif. Importez-le depuis « @capgo/capacitor-native-loader » dans votre code.

Est-ce que @capgo/capacitor-native-loader fonctionne avec React, Vue et Angular ?

Oui. Native Loader est un package Capacitor, il fonctionne donc avec n'importe quel framework web qui tourne dans Capacitor, y compris Ionic, React, Vue, Angular, Svelte et le JavaScript pur.

Quelle version de Capacitor @capgo/capacitor-native-loader prend-il en charge ?

Les plugins Capgo suivent la version majeure de Capacitor : utilisez la version majeure du plugin qui correspond à la version majeure de votre Capacitor (par exemple le plugin v8 avec Capacitor 8). Le tableau de compatibilité du README de GitHub recense les versions maintenues.

Est-ce que @capgo/capacitor-native-loader est gratuit et open source ?

Oui. Le code source de code est public sur GitHub à l'adresse https://github.com/Cap-go/capacitor-native-loader/ et le package est gratuit à installer depuis npm. Les rapports de bugs et les pull requests sont les bienvenus.

Puis-je mettre à jour code utilisant Native Loader sans passer par une revue de l'App Store ?

L'installation ou la mise à jour du plugin modifie le code natif, ce qui impose un nouveau build pour les stores. Ensuite, les changements JavaScript, HTML et CSS qui appellent le plugin peuvent être livrés instantanément via les live updates de Capgo.

Déployez les changements de Native Loader sans attendre la validation de l'app

Une fois le plugin intégré à votre build de store, Capgo live updates déploie vos changements JavaScript, HTML et CSS aux utilisateurs en quelques minutes.

Commencez avec Capgo