Iniziato all'Avvio
Copiare un prompt di impostazione con i passaggi di installazione e la guida markdown completa per questo plugin.
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.
Installare
Sezione intitolata “Installare”Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUsa poi il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-wifi` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo sistema operativo riportate di seguito:
bun add @capgo/capacitor-wifibunx cap syncImporta
Sezione intitolata “Importa”import { CapacitorWifi } from '@capgo/capacitor-wifi';Panoramica di API
Sezione intitolata “API Overview”addNetwork
Sezione intitolata “aggiungi rete”Mostra un dialogo del sistema per aggiungere una rete Wi-Fi al dispositivo. Su Android SDK 30+, questo apre le impostazioni di rete Wi-Fi del sistema con la rete precompilata. Su iOS, questo si connette direttamente alla rete.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({ ssid: 'MyNetwork', password: 'mypassword', isHiddenSsid: false, securityType: NetworkSecurityType.WPA2_PSK});Connetti a una rete Wi-Fi. Su Android, questo crea una connessione temporanea che non invia il traffico per impostazione predefinita. Imposta autoRouteTraffic su true per legare il traffico dell'app alla rete connessa (utile per AP locali/host device). Per una connessione persistente su Android, utilizza addNetwork() al posto di questo. Su iOS, questo crea una connessione persistente.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.connect({ ssid: 'MyNetwork', password: 'mypassword', autoRouteTraffic: true // Android only: route app traffic through this network});disconnect
Sezione intitolata “disconnetti”Disconnetti dalla rete Wi-Fi corrente. Su iOS, si disconnette solo dalle reti aggiunte tramite questo plugin.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();getAvailableNetworks
Sezione intitolata “ottieni reti disponibili”Ottieni l'elenco delle reti Wi-Fi disponibili dall'ultimo scan. Solo disponibile su 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
Sottosezione intitolata “getIpAddress”Ottieni l'indirizzo IP corrente del dispositivo. Disponibile su entrambe Android e iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();console.log('IP Address:', ipAddress);Ottieni l'indicatore di forza del segnale ricevuto (RSSI) della rete corrente in dBm. Disponibile solo su Android.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { rssi } = await CapacitorWifi.getRssi();console.log('Signal strength:', rssi, 'dBm');Ottieni l'identificatore della rete (SSID) della rete corrente. Disponibile su entrambe Android e iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();console.log('Connected to:', ssid);getWifiInfo
Sottosezione intitolata “getWifiInfo”Ottieni informazioni dettagliate sulla rete WiFi attualmente connessa. Questo metodo fornisce informazioni dettagliate sulla rete, compreso SSID, BSSID, indirizzo IP, frequenza, velocità di collegamento e forza del segnale in un'unica chiamata. Su iOS, alcuni campi potrebbero non essere disponibili e saranno indefiniti.
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
Sottosezione intitolata “abilitato”Verifica se il Wi-Fi è abilitato sul dispositivo. Disponibile solo su Android.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { enabled } = await CapacitorWifi.isEnabled();console.log('WiFi is', enabled ? 'enabled' : 'disabled');Avvia lo scanning per le reti Wi-Fi. Disponibile solo su Android. I risultati sono inviati tramite l'ascoltatore di evento ‘networksScanned’. Nota: potrebbe fallire a causa della limitazione del sistema o di problemi di hardware.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Sottosezione intitolata “verificaPermessi”Verifica lo stato dei permessi correnti per l'accesso alla posizione. Il permesso di posizione è richiesto per le operazioni di Wi-Fi su entrambe le piattaforme.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();console.log('Location permission:', status.location);requestPermissions
Sottosezione intitolata “richiediPermessi”Richiedi i permessi di posizione all'utente. Il permesso di posizione è richiesto per le operazioni di Wi-Fi su entrambe le piattaforme.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.requestPermissions();if (status.location === 'granted') { console.log('Permission granted');}Riferimento al tipo
Sezione intitolata “Riferimento al tipo”AddNetworkOptions
Sezione intitolata “Aggiungi opzioni di rete”Opzioni per l'aggiunta di una rete.
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
Sezione intitolata “Opzioni di connessione”Opzioni per la connessione a una rete.
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
Sezione intitolata “Opzioni di disconnessione”Opzioni per la disconnessione da una rete.
export interface DisconnectOptions { /** * The SSID of the network to disconnect from (optional) * * @since 7.0.0 */ ssid?: string;}GetAvailableNetworksResult
Sezione intitolata “GetAvailableNetworksResult”Risultato di getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Sezione intitolata “GetIpAddressResult”Risultato di getIpAddress().
export interface GetIpAddressResult { /** * The device's IP address * * @since 7.0.0 */ ipAddress: string;}GetRssiResult
Sezione intitolata “GetRssiResult”Risultato di getRssi().
export interface GetRssiResult { /** * The signal strength in dBm * * @since 7.0.0 */ rssi: number;}GetSsidResult
Sezione intitolata “GetSsidResult”Risultato di getSsid().
export interface GetSsidResult { /** * The SSID of the current network * * @since 7.0.0 */ ssid: string;}WifiInfo
Sezione intitolata “WifiInfo”Informazioni WiFi complete.
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
Sezione intitolata “IsEnabledResult”Risultato da isEnabled().
export interface IsEnabledResult { /** * Whether Wi-Fi is enabled * * @since 7.0.0 */ enabled: boolean;}PermissionStatus
Sezione intitolata “PermissionStatus”Stato di permesso.
export interface PermissionStatus { /** * Location permission state * * @since 7.0.0 */ location: PermissionState;}RequestPermissionsOptions
Sezione intitolata “RequestPermissionsOptions”Opzioni per richiedere permessi.
export interface RequestPermissionsOptions { /** * Permissions to request * * @since 7.0.0 */ permissions?: 'location'[];}NetworkSecurityType
Sezione intitolata “Tipo di sicurezza di rete”Tipi di sicurezza di rete.
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,}Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal plugin’s src/definitions.tsRiavvia la sincronizzazione quando le informazioni pubbliche API cambiano in fase di sviluppo.
Continua da dove si è iniziato con l'assistenza per l'avvio
Sezione intitolata “Continua da dove si è iniziato con l'assistenza per l'avvio”Se stai utilizzando Per pianificare il pannello di controllo e le operazioni __CAPGO_KEEP_0__ to plan dashboard and API operations, connect it with Utilizzo di @capgo/capacitor-wifi per la capacità nativa in Utilizzo di @capgo/capacitor-wifi, API Panoramica per il dettaglio di implementazione in API Panoramica, Introduzione per il dettaglio di implementazione in Introduzione, API Chiavi per il dettaglio di implementazione in API Chiavi, e Dispositivi per il dettaglio di implementazione in Dispositivi.