Lompat ke konten utama
@capgo/capacitor-inappbrowser Diubah Diubah dari @capgo/inappbrowser ke @capgo/capacitor-inappbrowser. UI & Sistem Terbuka sumber

Browser Aplikasi Plugin Capacitor

Buka WebViews dalam aplikasi yang diatur dengan lapisan antarmuka native, sesi pribadi, unduhan, proxy, dan pesan.

Pasang

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

Bagaimana menggunakan Browser Aplikasi di Capacitor

Uji di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Tautan QR pratinjau plugin Browser Aplikasi code

Memakai @capgo/capacitor-inappbrowser

@capgo/capacitor-inappbrowser membuka konten web eksternal dari sebuah Capacitor aplikasi. Gunakan open() untuk permukaan browser platform, atau openWebView() ketika aplikasi Anda memerlukan WebView native yang diatur dengan ukuran, toolbar, pesan, skrip, download, proxy, kontrol popup, penyimpanan pribadi, atau antarmuka UI Ionik yang terlapis di atas halaman.

Install

npm install @capgo/capacitor-inappbrowser
npx cap sync

Apa yang Dapat Diklik

  • Aliran browser sistem dengan Chrome Custom Tabs pada Android dan SFSafariViewController pada iOS.
  • WebView yang diatur yang dapat diukur, disembunyikan, ditampilkan, dipindahkan di belakang aplikasi Capacitor, dan dibawa ke depan.
  • Forward klik, sentuh, dan scroll dengan dispatchInputEvent() ketika antarmuka UI aplikasi berada di atas browser.
  • Penggunaan browser layar setengah yang dapat menyalurkan sentuhan di luar frame WebView native ke aplikasi Capacitor pada Android dan iOS.
  • Pembersihan cookie, cache, dan data browsing penuh dengan persistWebViewData, clearCookies, clearAllCookies, clearCache, dan clearAllBrowsingData.
  • Komunikasi antara aplikasi dan halaman dengan postMessage(), komunikasi antara halaman dan aplikasi dengan window.mobileApp.postMessage(...), dan penginjeksian skrip dengan executeScript().
  • Pengaturan download, aturan proxy native pertama, kontrol popup, dukungan Google Pay, _blank Pengaturan link, dan instance browser tersembunyi yang dapat dipreload.

Kasus Penggunaan Umum

Tempatkan UI Aplikasi di Atas Browser yang Aktif

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 pembayaran, aliran dukungan browser, atau fitur mana pun di mana Ionic perlu mengontrol konten web yang hidup.

Pertahankan Aplikasi Tetap Klik di Sekitar Sheet Browser

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

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

Browser yang disesuaikan ukurannya hanya menangkap sentuhan di dalam frame-nya. Area aplikasi yang masih terlihat tetap dapat diklik di Android dan iOS.

Hindari Sesi Web yang Berlangsung

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

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

Gunakan ini untuk mengganti akun, pengujian checkout, impersonasi dukungan, atau aliran autentikasi di mana cookie, cache, penyimpanan lokal, dan IndexedDB tidak boleh bertahan lebih lama dari yang dibutuhkan.

Muat Awal dan Ganti 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 });

Instans tersembunyi menjaga keadaan mereka tersedia sambil menghindari overlay native yang menghalangi sentuhan aplikasi.

Integrasikan Aplikasi Web yang 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, aliran unggah, meja dukungan, panggilan video, halaman Google Pay, atau aplikasi web interaktif yang membutuhkan kontrol aplikasi native tanpa meninggalkan shell aplikasi.

Referensi Lengkap

Lanjutkan dari Menggunakan @capgo/capacitor-inappbrowser

Jika Anda menggunakan Gunakan @capgo/capacitor-inappbrowser untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/capacitor-inappbrowser untuk detail implementasi di @capgo/capacitor-inappbrowser, Panduan Pemula untuk detail implementasi di Panduan Pemula, Daftar Plugin @Capgo untuk alur kerja produk di Daftar Plugin @Capgo, Plugin @Capacitor oleh @Capgo untuk detail implementasi di Plugin @Capacitor oleh @Capgo, dan Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin.

FAQ

FAQ Browser Aplikasi Dalam

Bagaimana saya menginstal plugin Browser Aplikasi Dalam di sebuah aplikasi Capacitor?

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

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

Ya. Browser Aplikasi adalah paket Capacitor, sehingga berfungsi dengan semua framework web yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte dan JavaScript biasa.

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

Paket Capgo mengikuti versi utama Capacitor: gunakan versi plugin utama yang sesuai dengan versi utama Capacitor Anda (misalnya plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub menyebutkan versi yang dipelihara.

Apakah @capgo/capacitor-inappbrowser gratis dan terbuka sumber?

Ya. Sumber code tersedia di GitHub di https://github.com/Cap-go/capacitor-inappbrowser/ dan paketnya gratis untuk diinstal dari npm. Laporan bug dan permintaan pull diterima.

Apakah saya dapat memperbarui code yang menggunakan Browser Aplikasi tanpa review App Store?

Pemasangan atau pengupgrade plugin mengubah native code, sehingga memerlukan build aplikasi baru. Setelah itu, perubahan JavaScript, HTML dan CSS yang memanggil plugin dapat dikirimkan langsung dengan Capgo live updates.

Kirim perubahan Browser Aplikasi tanpa menunggu ulasan aplikasi

Setelah plugin ini ada di dalam toko Anda, Capgo pembaruan hidup membagikan perubahan JavaScript, HTML, dan CSS Anda kepada pengguna dalam beberapa menit.

Mulai dengan Capgo