Saltar al contenido

Inicio

  1. Instale el paquete

    Ventana de terminal
    bun add @capgo/capacitor-webview-version-checker
  2. Sincronice proyectos nativos

    Ventana de terminal
    bunx cap sync
  3. Opcional: agregar configuración de plugin Puede ejecutar con valores por defecto (WebviewVersionChecker: {}) o personalizar el comportamiento de la promp y el umbral en capacitor.config.ts.

Por defecto, este plugin utiliza una regla de compatibilidad estilo Browserslist:

  • minimumDeviceSharePercent se ajusta a 3
  • el conjunto de datos compartido se compila en tiempo de compilación desde los datos de caniuse
  • no se necesita una llamada de URL de conjunto de datos de tiempo de ejecución para el flujo por defecto
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;

Configuración simple solo (mostrar prompt nativo)

Sección titulada “Configuración simple solo (mostrar prompt nativo)”
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;

Modo de umbral avanzado (conjunto de datos personalizado)

Sección titulada “Modo de umbral avanzado (conjunto de datos personalizado)”
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;

Utiliza esto solo si deseas compatibilidad basada en la participación real del mundo en lugar de solo una versión fija.

  • minimumDeviceSharePercent: 3 significa que la versión mayor instalada debe representar al menos el 3% en tu conjunto de datos.
  • versionShareByMajor Es tu mapa personalizado: versión mayor => porcentaje.
  • Si prefieres datos remotos, utiliza versionShareApiUrl con uno de:
    • { "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,
});

¿Por qué utilizar este plugin en lugar de solo la configuración de Capacitor?

Sección titulada “¿Por qué utilizar este plugin en lugar de solo la configuración de Capacitor?”

Capacitor admite comprobaciones de mínimo estáticas:

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

Este plugin agrega eventos de tiempo de ejecución y UX de solicitud nativa, por lo que los usuarios pueden seguir abriendo y utilizando la aplicación mientras se les anima a actualizar.

Orden de evaluación:

  1. Modo de umbral de compartición de dispositivo (minimumDeviceSharePercent + conjunto de datos), si se proporciona
  2. Modo de versión más reciente (latestVersion / latestVersionApiUrl)
  3. Minimum major fallback (minimumMajorVersion)

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

  • Sección titulada “Gestión de proveedores de Android”com.google.android.webview)
  • El plugin admite ambos modelos de proveedores de WebView utilizados por __CAPGO_KEEP_0__ en Android: com.android.chrome)