Saltar al contenido principal
@capgo/capacitor-navegador-en-la-aplicación Renombrado Renombrado desde @capgo/inappbrowser a @capgo/capacitor-inappbrowser. Interfaz y Sistema Fuente abierta

Navegador en la aplicación Complemento de @Capacitor

Instale navegadores en la aplicación con capa de interfaz 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 el navegador en la aplicación en Capacitor

Prueba en dispositivo

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

In App Browser plugin preview QR code

Usando @capgo/capacitor-inappbrowser

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

Instalar

npm install @capgo/capacitor-inappbrowser
npx cap sync

¿Qué Esta Plugin Exposa

  • Flujo del navegador del sistema con Chrome Custom Tabs en Android y SFSafariViewController en iOS.
  • WebViews gestionados que pueden ser tamaño, oculto, mostrado, movido detrás de la Capacitor aplicación, y traído nuevamente a la parte delantera.
  • Reenvío de clic, toque y desplazamiento con dispatchInputEvent() when app UI sits above the browser.
  • Navegadores de pantalla parcial donde los toques fuera de la ventana nativa WebView pasan a la aplicación Capacitor en Android e iOS.
  • Limpieza 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().
  • Descarga manejo, reglas proxy nativas primero, control de popup, soporte de Google Pay, _blank , manejo de enlaces, y instancias de navegador ocultas pre-cargables.

Common Use Cases

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 });

Utilice esto para capas de checkout, flujos de pago respaldados por navegador, flujos de soporte guiados, o cualquier característica donde los controles de Ionic necesitan quedarse 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 solo captura toques dentro de su marco. El área de la aplicación visible que queda sigue siendo tachable en Android e iOS.

Evite Sesiones Web Persistentes

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

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

Utilice 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.

Pre cargar y cambiar múltiples WebView

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.

Integrar 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' },
});

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

Referencia Completa

Siga adelante desde Usando @capgo/capacitor-inappbrowser

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

FAQ

Preguntas frecuentes del plugin In App Browser

¿Cómo instalo el plugin de navegador en la aplicación en un Capacitor?

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

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

Sí. El navegador en la aplicación 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?

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

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

Sí. El código fuente de code está disponible en GitHub en https://github.com/Cap-go/capacitor-inappbrowser/ y el paquete es gratuito para instalar desde npm. Se aceptan informes de errores y solicitudes de cambios.

¿Puedo actualizar code que utiliza el navegador en la aplicación sin una revisión de la tienda?

La instalación o actualización del plugin cambia el code nativo, por lo que necesita una nueva construcción de la tienda. Después de eso, los cambios en JavaScript, HTML y CSS que llaman al plugin pueden enviar instantáneamente con Capgo actualizaciones en vivo.

Envíe cambios en el navegador en la aplicación sin esperar a la revisión del app store

Una vez que el plugin esté en tu tienda de construcción, Capgo actualizaciones en vivo envían los cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Comienza con Capgo