Zum Inhalt springen

Einstieg

  1. Installieren Sie das Paket

    Terminalfenster
    bun add @capgo/capacitor-webview-version-checker
  2. Synchronisieren Sie native Projekte

    Terminalfenster
    bunx cap sync
  3. Optional: Hinzufügen von Plugin-Konfiguration Sie können mit den Standards (WebviewVersionChecker: {}) laufen oder die Prompt- und Threshold-Verhaltensweise anpassen capacitor.config.ts.

Standardverhalten (Haupteinsatzfall)

Abschnitt: Standardverhalten (Haupteinsatzfall)

Standardmäßig verwendet diese Erweiterung eine Browserslist-Style-Kompatibilitätsregel:

  • minimumDeviceSharePercent standardmäßig 3
  • Die Teildatenmenge wird bei der Buildzeit aus caniuse-Daten gebündelt
  • Für das Standardfließ keine Runtime-Datenmenge-URL-Aufruf erforderlich
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;

Einfache Konfiguration nur (native Prompt anzeigen)

Abschnitt: Einfache Konfiguration nur (native Prompt anzeigen)
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;

Erweiterte Schwellenwert-Modus (Benutzerdefinierte Datenmenge)

Abschnitt: Erweiterte Schwellenwert-Modus (Benutzerdefinierte Datenmenge)
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;

Verwenden Sie dies nur, wenn Sie eine Kompatibilität auf der Grundlage der realen Weltanteil statt nur einer festen Version wünschen.

  • minimumDeviceSharePercent: 3 bedeutet, dass die installierte Hauptversion mindestens 3% in Ihrem Datensatz darstellen muss.
  • versionShareByMajor Ist Ihr benutzerdefinierter Karten: Hauptversion => Prozentsatz.
  • Wenn Sie remote Daten bevorzugen, verwenden Sie versionShareApiUrl mit einem von:
    • { "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,
});

Warum verwenden Sie diesen Plugin anstatt nur Capacitor Konfiguration

Abschnitt mit dem Titel “Warum verwenden Sie diesen Plugin anstatt nur Capacitor Konfiguration”

Capacitor unterstützt statische Mindestprüfungen:

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

Diese Erweiterung fügt Echtzeitereignisse und native Benutzeroberflächen für Anfragen hinzu, so dass Benutzer das Programm noch öffnen und verwenden können, während sie dazu ermutigt werden, sich zu aktualisieren.

Bewertungsreihenfolge:

  1. Geräteteilungsschwelle-Modus (minimumDeviceSharePercent +Datenmenge), falls angegeben
  2. Neueste Version-Modus (latestVersion / latestVersionApiUrl)
  3. Mindestmajor-Fallback (minimumMajorVersion)

Die Erweiterung unterstützt beide WebView-Anbietermodelle, die von Capacitor auf Android verwendet werden:

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