Saltar al contenido principal
@capgo/capacitor-inappbrowser Renombrado Renombrado de @capgo/inappbrowser a @capgo/capacitor-inappbrowser. UI y Sistema Código abierto

En el In App Browser plugin Capacitor

Abre WebViews gestionadas con capas de UI nativa, sesiones privadas, descargas, proxy y mensajería

Instalar

bun add @capgo/capacitor-inappbrowser bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-inappbrowser
  • pnpm add @capgo/capacitor-inappbrowser
  • yarn add @capgo/capacitor-inappbrowser

Guía

Cómo usar In App Browser en Capacitor

Probar en el dispositivo

Descarga la app Capgo y escanea el QR code.

Vista previa del plugin In App Browser QR code

Uso de @capgo/capacitor-inappbrowser

@capgo/capacitor-inappbrowser abre contenido web externo desde una app Capacitor. Usa open() para la superficie del navegador de la plataforma, o openWebView() cuando tu app necesite un WebView nativo gestionado con tamaño, barra de herramientas, mensajes, scripts, descargas, proxy, control de popups, almacenamiento privado o la UI de Ionic sobre la página.

Instalar

npm install @capgo/capacitor-inappbrowser
npx cap sync

Lo que expone este plugin

  • Flujo de navegador del sistema con Chrome Custom Tabs en Android y SFSafariViewController en iOS.
  • WebViews gestionadas que puedes redimensionar, ocultar, mostrar, mover detrás de la app Capacitor y traer al frente.
  • Reenvío de clics, toques y scroll con dispatchInputEvent() when app UI sits above the browser.
  • Navegadores de pantalla parcial donde los toques fuera del frame de la WebView nativa pasan a la app Capacitor en Android e iOS.
  • Limpieza de cookies, caché y datos de navegación con persistWebViewData, clearCookies, clearAllCookies, clearCache, y clearAllBrowsingData.
  • Comunicación de la app a la página con postMessage(), comunicación de la página a la app con window.mobileApp.postMessage(...), e inyección de scripts con executeScript().
  • Gestión de descargas, reglas de proxy nativas, control de popups y soporte para Google Pay, _blank gestión de enlaces e instancias de navegador ocultas y precargables.

Casos de uso comunes

UI de la App sobre 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 });

Úsalo para overlays de checkout, flujos de pago basados en web, flujos de soporte guiado o cualquier función donde los controles de Ionic deban permanecer sobre el contenido web.

Mantener la App interactiva alrededor de un Browser Sheet

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 de tamaño personalizado solo captura toques dentro de su marco. El resto del área visible de la app sigue siendo interactiva en Android e iOS.

Evitar sesiones web persistentes

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

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

Úsalo para cambio de cuentas, pruebas de checkout, suplantación de soporte o flujos de auth donde las cookies, caché, local storage e IndexedDB no deban durar más de lo necesario.

Precargar y alternar 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 });

Las instancias ocultas mantienen su estado disponible evitando overlays nativos que bloqueen los toques de la app.

Integra una Web App 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' },
});

Usa este patrón para portales de documentos, flujos de upload, centros de soporte, videollamadas, páginas de Google Pay o web apps interactivas que requieran control nativo sin salir de la app.

Referencia completa

Continúa desde Usando @capgo/capacitor-inappbrowser

Si estás usando Uso de @capgo/capacitor-inappbrowser para planificar el trabajo con plugins nativos, conéctalo con @capgo/capacitor-inappbrowser para los detalles de implementación en @capgo/capacitor-inappbrowser, Primeros pasos para los detalles de implementación en Primeros pasos, Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para los detalles de implementación en Capacitor Plugins de Capgo, y Añadir o actualizar plugins para los detalles de implementación al añadir o actualizar plugins.

FAQ

FAQ del plugin In App Browser

¿Cómo instalo el plugin In App Browser en una app Capacitor?

Ejecuta "bun add @capgo/capacitor-inappbrowser" (o "npm install @capgo/capacitor-inappbrowser"), luego ejecuta "bunx cap sync" para que los proyectos de iOS y Android detecten el code nativo. Impórtalo desde "@capgo/capacitor-inappbrowser" en el code de tu app.

¿Es compatible @capgo/capacitor-inappbrowser con React, Vue y Angular?

Sí. In App Browser es un paquete Capacitor, por lo que funciona con cualquier framework web que se ejecute dentro de Capacitor, incluyendo Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-inappbrowser?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-inappbrowser gratuito y de código abierto?

Sí. El código fuente de code es público en GitHub en https://github.com/Cap-go/capacitor-inappbrowser/ y el paquete se puede instalar gratis desde npm. Los reportes de bugs y pull requests son bienvenidos.

¿Puedo actualizar code que usa In App Browser sin pasar por la revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Lanza cambios de In App Browser sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo