Passer à la navigation

Getting Started

  1. Installer le package

    Fenêtre de terminal
    bun add @capgo/capacitor-webview-version-checker
  2. Synchroniser les projets natifs

    Fenêtre de terminal
    bunx cap sync
  3. Facultatif : ajouter une configuration de plugin Vous pouvez exécuter avec les valeurs par défaut (WebviewVersionChecker: {}) ou personnaliser le comportement de la demande et du seuil dans capacitor.config.ts.

Par défaut, ce plugin utilise une règle de compatibilité à l'instar de Browserslist :

  • minimumDeviceSharePercent par défaut 3
  • le jeu de données partagé est compilé en temps de build à partir des données caniuse
  • aucune appelle de URL de jeu de données en temps de runtime n'est nécessaire pour le flux par défaut
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
minimumDeviceSharePercent: 3,
versionShareByMajor: {
'137': 58.2,
'136': 21.3,
'135': 4.6,
'134': 2.1,
},
autoPromptOnOutdated: true,
},
},
};
export default config;

Utilisez uniquement si vous souhaitez une compatibilité basée sur la répartition réelle dans le monde plutôt que uniquement sur une version fixe.

  • minimumDeviceSharePercent: 3 ce qui signifie que la version majeure installée doit représenter au moins 3 % dans votre ensemble de données.
  • versionShareByMajor est votre carte personnalisée : version majeure => pourcentage.
  • Si vous préférez les données à distance, utilisez versionShareApiUrl avec l'un des :
    • { "versionShareByMajor": { "137": 54.2, "136": 23.8 } }
    • { "shareByMajor": { "137": 54.2, "136": 23.8 } }
    • { "versions": [{ "major": 137, "share": 54.2 }, { "version": "136.0.0.0", "percent": 23.8 }] }
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
await WebviewVersionChecker.addListener('webViewOutdated', (status) => {
console.log('Outdated WebView detected', status);
});
await WebviewVersionChecker.check({
minimumMajorVersion: 124,
showPromptOnOutdated: true,
});

Pourquoi utiliser ce plug-in au lieu de seulement la Capacitor configuration

Section intitulée « Pourquoi utiliser ce plug-in au lieu de seulement la Capacitor configuration »

La Capacitor prend en charge les vérifications minimales statiques :

android: {
minWebViewVersion: 124,
},
server: {
errorPath: 'unsupported-webview.html',
}

Ce plug-in ajoute des événements de temps d'exécution et une expérience utilisateur native de demande, de sorte que les utilisateurs puissent toujours ouvrir et utiliser l'application tout en étant encouragés à mettre à jour.

Ordre d'évaluation :

  1. Mode de partage de dispositif ( + ensemble de données ), si fourniminimumDeviceSharePercent Mode de version la plus récente (
  2. Fallback de version majeure minimale (latestVersion / latestVersionApiUrl)
  3. Gestion du fournisseur AndroidminimumMajorVersion)

The plugin supports both WebView provider models used by Capacitor on Android:

  • Android 5-6 et 10+ : Android System WebView (com.google.android.webview)
  • Android 7-9 : Google Chrome (com.android.chrome)

Si vous utilisez l'étape de démarrage pour planifier le comportement de médias et d'interface natifs, connectez-le avec Using @capgo/capacitor-webview-version-checker for the native capability in Using @capgo/capacitor-webview-version-checker, Using @capgo/capacitor-live-activities pour la capacité native dans Utiliser @capgo/capacitor-activités en direct, @capgo/capacitor-activités en direct pour le détail d'implémentation dans @capgo/capacitor-activités en direct, Utiliser @capgo/capacitor-joueur vidéo pour la capacité native dans Utiliser @capgo/capacitor-joueur vidéo, et @capgo/capacitor-joueur vidéo pour le détail d'implémentation dans @capgo/capacitor-joueur vidéo.