Vai al contenuto

Per iniziare

GitHub

Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:

Finestra del terminale
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi usa il seguente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-webview-version-checker` plugin in my project.

Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:

  1. Installa il pacchetto

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

    Finestra del terminale
    bunx cap sync
  3. Opzionale: aggiungi la config del plugin Puoi eseguire con i valori di default (WebviewVersionChecker: {}) o personalizza il comportamento di prompt e soglia in capacitor.config.ts.

import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.check();
console.log(result);
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.startMonitoring();
console.log(result);
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.stopMonitoring();
console.log(result);
  • Listener: rimuovi gli handle quando gli schermi vengono smontati.
  • Sync nativo: esegui bunx cap sync dopo gli aggiornamenti dei plugin.
  • Fonte di verità: fidati src/definitions.ts nel repo GitHub.

Comportamento predefinito (caso d'uso principale)

Sezione: “Comportamento predefinito (caso d'uso principale)”

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

  • minimumDeviceSharePercent ha come default 3
  • il dataset di condivisione viene incluso nel bundle al build time tramite i dati caniuse
  • non è necessaria alcuna chiamata URL al dataset a runtime per il flusso predefinito
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;

Setup semplice solo config (mostra prompt nativo)

Sezione: “Configurazione semplice (mostra prompt nativo)”
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;

Modalità avanzata a soglia (dataset personalizzato)

Sezione: “Modalità soglia avanzata (dataset 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 questa opzione solo se desideri una compatibilità basata sulla condivisione reale invece di una versione fissa.

  • minimumDeviceSharePercent: 3 significa che la major version installata deve rappresentare almeno il 3% nel tuo dataset.
  • versionShareByMajor è la tua mappa personalizzata: major version => percentuale.
  • Se preferisci i dati remoti, usa versionShareApiUrl con uno di:
    • { "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,
});

Perché usare questo plugin invece della sola config Capacitor

Sezione intitolata “Why use this plugin instead of only Capacitor config”

Capacitor supporta controlli statici minimi:

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

Questo plugin aggiunge eventi a runtime e una UX nativa con prompt, permettendo agli utenti di usare l'app pur incoraggiandoli all'aggiornamento.

Ordine di valutazione:

  1. Modalità soglia device-share (minimumDeviceSharePercent + dataset), se fornito
  2. Modalità ultima versione (latestVersion / latestVersionApiUrl)
  3. Fallback versione major minima (minimumMajorVersion)

Il plugin supporta entrambi i modelli di provider WebView usati da Capacitor su Android:

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

Se stai usando Per iniziare per pianificare il comportamento dei media nativi e dell'interfaccia, collegalo a Utilizzo di @capgo/capacitor-webview-version-checker per la funzionalità nativa in Utilizzo di @capgo/capacitor-webview-version-checker, Uso di @capgo/capacitor-live-activities per la funzionalità nativa nella pagina Uso di @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per il dettaglio implementativo in @capgo/capacitor-live-activities, Uso di @capgo/capacitor-video-player per la funzionalità nativa nella pagina Uso di @capgo/capacitor-video-player, e @capgo/capacitor-video-player per il dettaglio implementativo in @capgo/capacitor-video-player.