Langsung ke konten utama
@capgo/capacitor-inappbrowser Ganti nama Namanya diubah dari @capgo/inappbrowser menjadi @capgo/capacitor-inappbrowser. UI & Sistem Open source

In App Browser plugin Capacitor

Buka WebView in-app terkelola dengan layering UI native, sesi privat, download, proxy, dan messaging

Instal

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

Panduan

Cara menggunakan In App Browser di Capacitor

Tes di perangkat

Download aplikasi Capgo, lalu scan QR code.

QR pratinjau plugin In App Browser code

Menggunakan @capgo/capacitor-inappbrowser

@capgo/capacitor-inappbrowser membuka konten web eksternal dari aplikasi Capacitor. Gunakan open() untuk tampilan browser platform, atau openWebView() saat aplikasi Anda butuh WebView native terkelola dengan ukuran, toolbar, pesan, script, download, proxy, kontrol popup, penyimpanan privat, atau UI Ionic di atas halaman.

Instal

npm install @capgo/capacitor-inappbrowser
npx cap sync

Apa yang Diekspos Plugin Ini

  • Alur browser sistem menggunakan Chrome Custom Tabs di Android dan SFSafariViewController di iOS.
  • WebView terkelola yang ukurannya bisa diatur, disembunyikan, ditampilkan, dipindah ke belakang aplikasi Capacitor, dan dimunculkan kembali ke depan.
  • Penerusan klik, sentuhan, dan scroll dengan dispatchInputEvent() saat UI aplikasi berada di atas browser.
  • Browser layar parsial di mana ketukan di luar frame WebView native akan diteruskan ke aplikasi Capacitor di Android dan iOS.
  • Pembersihan cookie, cache, dan seluruh data browsing dengan persistWebViewData, clearCookies, clearAllCookies, clearCache, dan clearAllBrowsingData.
  • Komunikasi App-ke-page dengan postMessage(), komunikasi page-ke-app dengan window.mobileApp.postMessage(...), serta injeksi script dengan executeScript().
  • Penanganan download, aturan proxy native-first, kontrol popup, dukungan Google Pay, _blank penanganan link, dan instance browser preloadable yang tersembunyi.

Kasus Penggunaan Umum

Letakkan UI App di Atas Live Browser

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

Gunakan ini untuk overlay checkout, alur pembayaran berbasis browser, alur panduan bantuan, atau fitur apa pun yang membutuhkan kontrol Ionic tetap berada di atas konten web.

Tetap Bisa Klik App di Sekitar 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 });

Browser berukuran custom hanya menangkap sentuhan di dalam frame-nya. Sisa area app yang terlihat tetap bisa di-tap di Android dan iOS.

Hindari Sesi Web yang Persisten

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

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

Gunakan ini untuk ganti akun, testing checkout, impersonasi support, atau alur auth di mana cookie, cache, local storage, dan IndexedDB tidak boleh bertahan lebih lama dari yang dibutuhkan.

Preload dan Swap Multiple 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 });

Instance tersembunyi menjaga state tetap tersedia sambil menghindari native overlay yang menghalangi sentuhan pada app.

Sematkan Web App Canggih

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

Gunakan pola ini untuk portal dokumen, alur upload, helpdesk, video call, halaman Google Pay, atau web app interaktif yang butuh kontrol native app tanpa keluar dari app shell.

Referensi Lengkap

Lanjutkan dari Menggunakan @capgo/capacitor-inappbrowser

Jika Anda menggunakan Menggunakan @capgo/capacitor-inappbrowser untuk merencanakan pekerjaan plugin native, hubungkan dengan @capgo/capacitor-inappbrowser untuk detail implementasi di @capgo/capacitor-inappbrowser, Panduan Memulai untuk detail implementasi di Getting Started, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin Capacitor oleh Capgo, dan Menambahkan atau Memperbarui Plugin untuk detail implementasi di bagian Menambahkan atau Memperbarui Plugin.

FAQ

FAQ plugin In App Browser

Bagaimana cara install plugin In App Browser di aplikasi Capacitor?

Jalankan "bun add @capgo/capacitor-inappbrowser" (atau "npm install @capgo/capacitor-inappbrowser"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mendeteksi code native. Import dari "@capgo/capacitor-inappbrowser" di dalam code aplikasi Anda.

Apakah @capgo/capacitor-inappbrowser mendukung React, Vue, dan Angular?

Ya. In App Browser adalah package Capacitor, jadi bisa dipakai dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript biasa.

Versi Capacitor mana yang didukung @capgo/capacitor-inappbrowser?

Plugin Capgo mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor Anda (contoh: plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang masih di-maintain.

Apakah @capgo/capacitor-inappbrowser gratis dan open source?

Ya. Source code tersedia secara publik di GitHub pada https://github.com/Cap-go/capacitor-inappbrowser/ dan paketnya bebas diinstal dari npm. Bug report dan pull request sangat kami terima.

Bisakah saya memperbarui code yang menggunakan In App Browser tanpa review App Store?

Instalasi atau upgrade plugin akan mengubah native code, jadi butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin bisa langsung dikirim lewat live updates Capgo.

Rilis perubahan In App Browser tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, live updates Capgo akan mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo