메인 콘텐츠로 건너뛰기

시작하기

터미널 창
bun add @capgo/capacitor-wifi
bunx cap sync
import { CapacitorWifi } from '@capgo/capacitor-wifi';

장치에 Wi-Fi 네트워크를 추가하는 시스템 대화 상자를 표시합니다. 안드로이드 SDK 30 이상에서는 시스템 Wi-Fi 설정을 열고 네트워크를 미리 채워줍니다. iOS에서는 네트워크에 직접 연결합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({
ssid: 'MyNetwork',
password: 'mypassword',
isHiddenSsid: false,
securityType: NetworkSecurityType.WPA2_PSK
});

Wi-Fi 네트워크에 연결합니다. 안드로이드에서는 기본적으로 네트워크를 통해 트래픽을 라우팅하지 않도록 임시 연결을 생성합니다. autoRouteTraffic를 true로 설정하여 앱 트래픽을 연결된 네트워크에 바인딩할 수 있습니다 (로컬/장치 호스트 AP를 위한 유용한 옵션). 안드로이드에서 지속적인 연결을 원하는 경우 addNetwork()를 사용하세요. iOS에서는 지속적인 연결을 생성합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.connect({
ssid: 'MyNetwork',
password: 'mypassword',
autoRouteTraffic: true // Android only: route app traffic through this network
});

현재 Wi-Fi 네트워크에서 연결을 해제합니다. iOS에서는 이 플러그인을 통해 추가된 네트워크만 해제합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();

최근 스캔에서 사용 가능한 Wi-Fi 네트워크 목록을 가져옵니다. 안드로이드에서만 사용 가능합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { networks } = await CapacitorWifi.getAvailableNetworks();
networks.forEach(network => {
console.log(`SSID: ${network.ssid}, Signal: ${network.rssi} dBm`);
});

getIpAddress

getIpAddress

기기의 현재 IP 주소를 가져옵니다. 안드로이드와 iOS에서 모두 사용 가능합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();
console.log('IP Address:', ipAddress);

getRssi

getRssi

현재 네트워크의 수신 신호 강도 지표 (RSSI)를 dBm 단위로 가져옵니다. 안드로이드에서만 사용 가능합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { rssi } = await CapacitorWifi.getRssi();
console.log('Signal strength:', rssi, 'dBm');

getSsid

getSsid

현재 네트워크의 서비스 세트 식별자 (SSID)를 가져옵니다. 안드로이드와 iOS에서 모두 사용 가능합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();
console.log('Connected to:', ssid);

getWifiInfo

getWifiInfo

현재 연결된 와이파이 네트워크에 대한 전반적인 정보를 얻으십시오. 이 메서드는 단일 호출로 SSID, BSSID, IP 주소, 주파수, 링크 속도 및 신호 강도와 같은 세부 네트워크 정보를 제공합니다. iOS에서 일부 필드는 사용할 수 없으며 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);

장치에서 와이파이가 활성화되어 있는지 확인하십시오. Android에서만 사용할 수 있습니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { enabled } = await CapacitorWifi.isEnabled();
console.log('WiFi is', enabled ? 'enabled' : 'disabled');

장치에서 와이파이 네트워크를 스캔하십시오. Android에서만 사용할 수 있습니다. 결과는 ‘networksScanned’ 이벤트 리스너를 통해 전달됩니다. 주의: 시스템의 제한 또는 하드웨어 문제로 실패할 수 있습니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => {
console.log('Scan completed');
});
await CapacitorWifi.startScan();

위치 접근 권한의 현재 상태를 확인하십시오. 위치 권한은 양쪽 플랫폼에서 와이파이 작업을 위해 필요합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();
console.log('Location permission:', status.location);

__CAPGO_KEEP_0__을 요청합니다. __CAPGO_KEEP_0__ 권한이 필요합니다. Wi-Fi 연산을 위해 양쪽 플랫폼에서 필요합니다.

import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.requestPermissions();
if (status.location === 'granted') {
console.log('Permission granted');
}

__CAPGO_KEEP_1__

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

__CAPGO_KEEP_2__

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

__CAPGO_KEEP_3__

export interface DisconnectOptions {
/**
* The SSID of the network to disconnect from (optional)
*
* @since 7.0.0
*/
ssid?: string;
}

GetAvailableNetworksResult

GetAvailableNetworksResult 섹션

getAvailableNetworks()의 결과입니다.

export interface GetAvailableNetworksResult {
/**
* List of available networks
*
* @since 7.0.0
*/
networks: Network[];
}

GetIpAddressResult

GetIpAddressResult 섹션

getIpAddress()의 결과입니다.

export interface GetIpAddressResult {
/**
* The device's IP address
*
* @since 7.0.0
*/
ipAddress: string;
}

getRssi()의 결과입니다.

export interface GetRssiResult {
/**
* The signal strength in dBm
*
* @since 7.0.0
*/
rssi: number;
}

getSsid()의 결과입니다.

export interface GetSsidResult {
/**
* The SSID of the current network
*
* @since 7.0.0
*/
ssid: string;
}

WifiInfo

Wi-Fi 정보

전체 Wi-Fi 정보.

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

isEnabled()의 결과

isEnabled()의 결과.

export interface IsEnabledResult {
/**
* Whether Wi-Fi is enabled
*
* @since 7.0.0
*/
enabled: boolean;
}

PermissionStatus

권한 상태

권한 상태.

export interface PermissionStatus {
/**
* Location permission state
*
* @since 7.0.0
*/
location: PermissionState;
}

RequestPermissionsOptions

권한 요청 옵션.

클립보드 복사

export interface RequestPermissionsOptions {
/**
* Permissions to request
*
* @since 7.0.0
*/
permissions?: 'location'[];
}

네트워크 보안 유형

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,
}

진실의 근원

진실의 근원 섹션

이 페이지는 플러그인의 src/definitions.ts업스트림에서 pubic API이 변경될 때 다시 싱크를 실행하세요.