Panduan Memulai
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-wifi`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/wifi/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-wifi` plugin in my project.Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:
bun add @capgo/capacitor-wifibunx cap syncimport { CapacitorWifi } from '@capgo/capacitor-wifi';Mulai cepat
Bagian berjudul “Mulai cepat”import { CapacitorWifi, NetworkSecurityType } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({ ssid: 'MyNetwork', password: 'mypassword', isHiddenSsid: false, securityType: NetworkSecurityType.WPA2_PSK});Contoh: connect
Bagian berjudul “Contoh: connect”import { CapacitorWifi, WifiConnectionErrorCode } from '@capgo/capacitor-wifi';
try { await CapacitorWifi.connect({ ssid: 'MyNetwork', password: 'mypassword', autoRouteTraffic: true, // Android only timeoutMs: 30000, });} catch (error: any) { switch (error.code) { case WifiConnectionErrorCode.WIFI_DISABLED: // Ask the user to enable Wi-Fi break; case WifiConnectionErrorCode.PERMISSION_DENIED: // Request the required permission break; default: // Generic connection error break; }}Contoh: disconnect
Bagian berjudul “Contoh: disconnect”import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();Kesalahan umum
Bagian berjudul “Kesalahan umum”- Izin: panggil
checkPermissions()kemudianrequestPermissions()saat dibutuhkan. - Listeners: hapus handle saat screen unmount.
- Sumber kebenaran tunggal: percayai
src/definitions.tsdi repo GitHub.
Ringkasan API
Bagian berjudul “Ikhtisar API”addNetwork
Bagian berjudul “addNetwork”Menampilkan dialog sistem untuk menambahkan jaringan Wi-Fi ke perangkat. Di Android SDK 30+, ini akan membuka pengaturan Wi-Fi sistem dengan jaringan yang sudah terisi. Di iOS, ini akan langsung terhubung ke jaringan tersebut.
import { CapacitorWifi, NetworkSecurityType } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({ ssid: 'MyNetwork', password: 'mypassword', isHiddenSsid: false, securityType: NetworkSecurityType.WPA2_PSK});connect
Bagian berjudul “connect”Terhubung ke jaringan Wi-Fi. Di Android, ini membuat koneksi sementara yang secara default tidak mengarahkan trafik melalui jaringan tersebut. Set autoRouteTraffic ke true untuk mengikat trafik aplikasi ke jaringan yang terhubung (berguna untuk AP lokal/host perangkat). Untuk koneksi persisten di Android, gunakan addNetwork() sebagai gantinya. Di iOS, ini membuat koneksi yang persisten.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.connect({ ssid: 'MyNetwork', password: 'mypassword', autoRouteTraffic: true // Android only: route app traffic through this network});disconnect
Bagian berjudul “disconnect”Memutuskan koneksi dari jaringan Wi-Fi saat ini. Di iOS, hanya memutuskan koneksi dari jaringan yang ditambahkan melalui plugin ini.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();getAvailableNetworks
Bagian berjudul “getAvailableNetworks”Mendapatkan daftar jaringan Wi-Fi yang tersedia dari pemindaian terakhir. Hanya tersedia di Android.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { networks } = await CapacitorWifi.getAvailableNetworks();networks.forEach(network => { console.log(`SSID: ${network.ssid}, Signal: ${network.rssi} dBm`);});getIpAddress
Bagian berjudul “getIpAddress”Dapatkan alamat IP perangkat saat ini. Tersedia di Android maupun iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();console.log('IP Address:', ipAddress);getRssi
Bagian berjudul “getRssi”Dapatkan received signal strength indicator (RSSI) dari jaringan saat ini dalam dBm. Hanya tersedia di Android.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { rssi } = await CapacitorWifi.getRssi();console.log('Signal strength:', rssi, 'dBm');getSsid
Bagian berjudul “getSsid”Dapatkan service set identifier (SSID) dari jaringan saat ini. Tersedia di Android maupun iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();console.log('Connected to:', ssid);getWifiInfo
Bagian berjudul “getWifiInfo”Dapatkan informasi lengkap tentang jaringan WiFi yang sedang terhubung. Metode ini menyediakan detail jaringan seperti SSID, BSSID, alamat IP, frequensi, link speed, dan kekuatan sinyal dalam satu panggilan. Di iOS, beberapa field mungkin tidak tersedia dan akan bernilai undefined.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const info = await CapacitorWifi.getWifiInfo();console.log('Network:', info.ssid);console.log('BSSID:', info.bssid);console.log('IP:', info.ip);console.log('Frequency:', info.frequency, 'MHz');console.log('Speed:', info.linkSpeed, 'Mbps');console.log('Signal:', info.signalStrength);isEnabled
Bagian berjudul “isEnabled”Cek apakah Wi-Fi aktif di perangkat. Hanya tersedia di Android.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { enabled } = await CapacitorWifi.isEnabled();console.log('WiFi is', enabled ? 'enabled' : 'disabled');startScan
Bagian berjudul “startScan”Mulai scan jaringan Wi-Fi. Hanya tersedia di Android. Hasil dikirim melalui event listener ‘networksScanned’. Catatan: Bisa gagal karena throttling sistem atau masalah hardware.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Bagian berjudul “checkPermissions”Cek status izin akses lokasi saat ini. Izin lokasi diperlukan untuk operasi Wi-Fi di kedua platform.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();console.log('Location permission:', status.location);requestPermissions
Bagian berjudul “requestPermissions”Minta izin lokasi ke pengguna. Izin lokasi diperlukan untuk operasi Wi-Fi di kedua platform.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.requestPermissions();if (status.location === 'granted') { console.log('Permission granted');}Referensi Tipe
Bagian berjudul “Referensi Tipe”AddNetworkOptions
Bagian berjudul “AddNetworkOptions”Opsi untuk menambahkan jaringan.
export interface AddNetworkOptions { /** * The SSID of the network to add * * @since 7.0.0 */ ssid: string;
/** * The password for the network (optional for open networks) * * @since 7.0.0 */ password?: string;
/** * Whether the network is hidden (Android only) * * @since 7.0.0 * @default false */ isHiddenSsid?: boolean;
/** * The security type of the network (Android only) * * @since 7.0.0 * @default NetworkSecurityType.WPA2_PSK */ securityType?: NetworkSecurityType;}ConnectOptions
Bagian berjudul “ConnectOptions”Opsi untuk terhubung ke jaringan.
export interface ConnectOptions { /** * The SSID of the network to connect to * * @since 7.0.0 */ ssid: string;
/** * The password for the network (optional for open networks) * * @since 7.0.0 */ password?: string;
/** * Whether the network is hidden (Android only) * * @since 7.0.0 * @default false */ isHiddenSsid?: boolean;
/** * Whether to automatically route app traffic through the connected Wi-Fi network (Android only) * When enabled, it binds the app process to the connected network using ConnectivityManager.bindProcessToNetwork() * This is useful for connecting to local/device-hosted APs (e.g., ESP32, IoT devices) that don't have internet access. * * @since 7.0.0 * @default false */ autoRouteTraffic?: boolean;}DisconnectOptions
Bagian berjudul “DisconnectOptions”Opsi untuk memutuskan koneksi jaringan.
export interface DisconnectOptions { /** * The SSID of the network to disconnect from (optional) * * @since 7.0.0 */ ssid?: string;}GetAvailableNetworksResult
Bagian berjudul “GetAvailableNetworksResult”Hasil dari getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Bagian berjudul “GetIpAddressResult”Hasil dari getIpAddress().
export interface GetIpAddressResult { /** * The device's IP address * * @since 7.0.0 */ ipAddress: string;}GetRssiResult
Bagian berjudul “GetRssiResult”Hasil dari getRssi().
export interface GetRssiResult { /** * The signal strength in dBm * * @since 7.0.0 */ rssi: number;}GetSsidResult
Bagian berjudul “GetSsidResult”Hasil dari getSsid().
export interface GetSsidResult { /** * The SSID of the current network * * @since 7.0.0 */ ssid: string;}WifiInfo
Bagian berjudul “WifiInfo”Informasi WiFi yang lengkap.
export interface WifiInfo { /** * The SSID (network name) of the current network * * @since 7.0.0 */ ssid: string;
/** * The BSSID (MAC address) of the access point. * Not available on iOS. * * @since 7.0.0 */ bssid?: string;
/** * The device's IP address on the network * * @since 7.0.0 */ ip: string;
/** * The network frequency in MHz. * Not available on iOS. * * @since 7.0.0 */ frequency?: number;
/** * The connection speed in Mbps. * Not available on iOS. * * @since 7.0.0 */ linkSpeed?: number;
/** * The signal strength (0-100). * Calculated from RSSI on Android. * Not available on iOS. * * @since 7.0.0 */ signalStrength?: number;}IsEnabledResult
Bagian berjudul “IsEnabledResult”Hasil dari isEnabled().
export interface IsEnabledResult { /** * Whether Wi-Fi is enabled * * @since 7.0.0 */ enabled: boolean;}PermissionStatus
Bagian berjudul “PermissionStatus”Status izin (permission).
export interface PermissionStatus { /** * Location permission state * * @since 7.0.0 */ location: PermissionState;}RequestPermissionsOptions
Bagian berjudul “RequestPermissionsOptions”Options for requesting permissions.
export interface RequestPermissionsOptions { /** * Permissions to request * * @since 7.0.0 */ permissions?: 'location'[];}NetworkSecurityType
Bagian berjudul “NetworkSecurityType”Tipe keamanan jaringan.
export enum NetworkSecurityType { /** * Open network with no security * * @since 7.0.0 */ OPEN = 0,
/** * WEP security * * @since 7.0.0 */ WEP = 1,
/** * WPA/WPA2 Personal (PSK) * * @since 7.0.0 */ WPA2_PSK = 2,
/** * WPA/WPA2/WPA3 Enterprise (EAP) * * @since 7.0.0 */ EAP = 3,
/** * WPA3 Personal (SAE) * * @since 7.0.0 */ SAE = 4,
/** * WPA3 Enterprise * * @since 7.0.0 */ WPA3_ENTERPRISE = 5,
/** * WPA3 Enterprise 192-bit mode * * @since 7.0.0 */ WPA3_ENTERPRISE_192_BIT = 6,
/** * Passpoint network * * @since 7.0.0 */ PASSPOINT = 7,
/** * Enhanced Open (OWE) * * @since 7.0.0 */ OWE = 8,
/** * WAPI PSK * * @since 7.0.0 */ WAPI_PSK = 9,
/** * WAPI Certificate * * @since 7.0.0 */ WAPI_CERT = 10,}Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-wifi untuk kapabilitas native saat menggunakan @capgo/capacitor-wifi, Ringkasan API untuk detail implementasi di API Overview, Pendahuluan untuk detail implementasi di Introduction, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Devices.