Saltare al contenuto

Inizia

  1. Installa il pacchetto

    Finestra del terminale
    bun add @capgo/capacitor-webview-version-checker
  2. Sincronizza progetti nativi

    Finestra del terminale
    bunx cap sync
  3. Facoltativo: aggiungi configurazione del plugin Puoi eseguire con impostazioni predefinite (WebviewVersionChecker: {}) o personalizzare il comportamento della richiesta e del livello di soglia capacitor.config.ts.

Di default, questo plugin utilizza una regola di compatibilità dello stile Browserslist:

  • minimumDeviceSharePercent si riduce a 3
  • il set di dati condiviso è bundleato al momento della compilazione dai dati di caniuse
  • non è necessario alcun chiamata di URL del set di dati runtime per il flusso predefinito
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;

Configurazione semplice solo (mostra la finestra di dialogo nativa)

Sezione intitolata “Configurazione semplice solo (mostra la finestra di dialogo nativa)”
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;

Modalità di soglia avanzata (set di dati personalizzato)

Sezione intitolata “Modalità di soglia avanzata (set di dati personalizzato)”
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;

Usa questo solo se desideri compatibilità basata sulle condivisioni reali al posto di solo una versione fissata.

  • minimumDeviceSharePercent: 3 significa che la versione maggiore installata deve rappresentare almeno il 3% nel tuo dataset.
  • versionShareByMajor Se preferisci i dati remoti, usa
  • con uno dei seguenti: versionShareApiUrl Utilizzo avanzato con JavaScript
    • { "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 }] }

Sezione intitolata “Utilizzo avanzato con JavaScript”

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

Sezione intitolata “Perché utilizzare questo plugin al posto di solo Capacitor config”

Capacitor supporta controlli minimi statici:

Why use this plugin instead of only Capacitor config

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

Questo plugin aggiunge eventi di runtime e UX di richiesta nativa, quindi gli utenti possono ancora aprire e utilizzare l'applicazione mentre vengono incoraggiati ad aggiornare.

Ordine di valutazione:

  1. Modalità di condivisione dispositivo ("+insieme dei dati), se fornitominimumDeviceSharePercent Modalità di versione più recente (
  2. Minimo maggiore fallback (latestVersion / latestVersionApiUrl)
  3. Gestione del provider AndroidminimumMajorVersion)

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

  • Android 7-9: Google Chrome (com.google.android.webview)
  • Il plugin supporta entrambi i modelli di provider WebView utilizzati da __CAPGO_KEEP_0__ su Android:com.android.chrome)