Saltar al contenido principal
Volver a plugins
@capgo/capacitor-inappbrowser Renombrado Renombrado desde @capgo/inappbrowser a @capgo/capacitor-inappbrowser.
Tutoriales
@capgo/capacitor-inappbrowser

Navegador en la aplicación

Abrir vistas de Web en la aplicación gestionadas con capa de interfaz de usuario nativa, sesiones privadas, descargas, proxy y mensajería

Guía

Tutorial sobre In App Browser

Probar en dispositivo

Descargar la aplicación Capgo, luego escanea el código QR code.

Vista previa del enlace QR del plugin de navegador code

Usando @capgo/capacitor-inappbrowser

@capgo/capacitor-inappbrowser abre contenido web externo desde una aplicación Capacitor. Utilice open() para la superficie del navegador del dispositivo, o openWebView() cuando su aplicación necesita un navegador nativo gestionado con tamaño personalizado, barra de herramientas, mensajes, scripts, descargas, proxy, control de ventanas emergentes, almacenamiento privado, o la interfaz de usuario de Ionic superpuesta sobre la página.

Instalar

npm install @capgo/capacitor-inappbrowser
npx cap sync

¿Qué se expone con este plugin?

  • Flujo del navegador del sistema con Chrome Custom Tabs en Android y SFSafariViewController en iOS.
  • Vistas web administradas que se pueden dimensionar, ocultar, mostrar, mover detrás de la Capacitor app y traer nuevamente al frente.
  • Reenvío de clic, toque y desplazamiento con dispatchInputEvent() cuando la interfaz de usuario de la app se encuentra encima del navegador.
  • Navegadores de pantalla parcial donde los toques fuera de la ventana del marco de la vista web nativa pasan a la Capacitor app en Android e iOS.
  • Eliminación de cookies, caché y datos de navegación completos con persistWebViewData, clearCookies, clearAllCookies, clearCache, y clearAllBrowsingData.
  • Comunicación de aplicación a página con postMessage(), comunicación de página a aplicación con window.mobileApp.postMessage(...), y inyección de script con executeScript().
  • Gestión de descargas, reglas de proxy nativas primero, control de pestañas, soporte de Google Pay, _blank gestión de enlaces, y instancias de navegadores ocultas y pre cargables.

Uso Común

Coloca la interfaz de la aplicación por encima de un navegador en vivo

import { InAppBrowser } from '@capgo/capacitor-inappbrowser';

const { id } = await InAppBrowser.openWebView({
  url: 'https://example.com/checkout',
  toBack: true,
  transparentBackground: true,
});

await InAppBrowser.dispatchInputEvent({
  id,
  type: 'click',
  x: 160,
  y: 420,
});

await InAppBrowser.bringToFront({ id });

Utiliza esto para overlays de pago, flujos de pago respaldados por el navegador, flujos de soporte guiados o cualquier característica donde los controles de Ionic necesitan permanecer por encima del contenido web en vivo.

Mantén la aplicación clickeable alrededor de una hoja de navegador

const { id } = await InAppBrowser.openWebView({
  url: 'https://example.com/offers',
  height: window.innerHeight - 200,
  y: 0,
});

await InAppBrowser.updateDimensions({ id, height: window.innerHeight });

Un navegador personalizado de tamaño custom solo captura toques dentro de su marco. El área de la aplicación visible que queda sigue siendo tachable en Android e iOS.

Evita Sesiones de Web Persistentes

const { id } = await InAppBrowser.openWebView({
  url: 'https://example.com/login',
  persistWebViewData: false,
});

await InAppBrowser.clearAllBrowsingData();
await InAppBrowser.close({ id });

Utiliza esto para cambiar de cuenta, pruebas de pago, impersonación de soporte, o flujos de autenticación donde cookies, caché, almacenamiento local y IndexedDB no deben sobrevivir más tiempo del necesario.

Carga Previa y Sustituye múltiples WebViews

const first = await InAppBrowser.openWebView({ url: 'https://example.com/a', hidden: true });
const second = await InAppBrowser.openWebView({ url: 'https://example.com/b', hidden: true });

await InAppBrowser.show({ id: first.id });
await InAppBrowser.hide({ id: first.id });
await InAppBrowser.show({ id: second.id });

Instancias ocultas mantienen su estado disponible mientras evitan capas nativas que bloquean toques de la aplicación.

Integra una aplicación web avanzada

const { id } = await InAppBrowser.openWebView({
  url: 'https://example.com/portal',
  handleDownloads: true,
  openBlankTargetInWebView: true,
  hiddenPopupWindow: true,
  outboundProxyRules: [
    {
      urlRegex: '^https://example\\.com/api/',
      action: 'delegateToJs',
    },
  ],
});

await InAppBrowser.postMessage({
  id,
  detail: { source: 'app', action: 'refresh' },
});

Utiliza este patrón para portales de documentos, flujos de carga, escritorios de soporte, llamadas de video, páginas de pago de Google Pay o aplicaciones web interactivas que necesitan control de la aplicación nativa sin salir de la caja de la aplicación.

Referencia Completa

Sigue adelante desde Usando @capgo/capacitor-inappbrowser

Si estás utilizando Usando @capgo/capacitor-inappbrowser para planificar el trabajo de plugin nativo, conectalo con @capgo/capacitor-inappbrowser para obtener detalles de implementación en @capgo/capacitor-inappbrowser, Inicio para obtener detalles de implementación en Inicio, Directorio de Plugins de Capgo para el flujo de trabajo del producto en el directorio de plugins Capgo Capacitor Plugins por Capgo para el detalle de implementación en Capacitor Plugins por Capgo, y Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins.