Iniziato
Copia un prompt di configurazione 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.
Installazione
Sezione intitolata “Installazione”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-pluginsPoi utilizza la seguente richiesta:
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 platform sotto:
bun add @capgo/capacitor-wifibunx cap syncimport { CapacitorWifi } from '@capgo/capacitor-wifi';API Panoramica
Sezione intitolata “API Panoramica”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 alla rete direttamente.
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() invece. 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 “disconnessione”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 “getAvailableNetworks”Elenca una lista delle reti Wi-Fi disponibili dallo scorso scan. Disponibile solo 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
Sezione intitolata “getIpAddress”Ottieni l'indirizzo IP del dispositivo corrente. Disponibile su entrambi Android e iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();console.log('IP Address:', ipAddress);getRssi
Sezione intitolata “getRssi”Ottieni l'indicatore di intensità 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');getSsid
Sezione intitolata “getSsid”Ottieni l'identificatore della rete (SSID) corrente. Disponibile su entrambi 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 Wi-Fi attualmente connessa. Questo metodo fornisce informazioni di rete dettagliate, compreso SSID, BSSID, indirizzo IP, frequenza, velocità di collegamento e intensità 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 “isEnabled”Controlla se 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');startScan
Sottosezione intitolata “startScan”Avvia la scansione delle reti Wi-Fi. Disponibile solo su Android. I risultati vengono inviati tramite l'ascoltatore di eventi ‘networksScanned’. Nota: potrebbe fallire a causa della limitazione del sistema o di problemi hardware.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Sottosezione intitolata “checkPermissions”Controlla lo stato di autorizzazione corrente per l'accesso alla posizione. L'autorizzazione alla posizione è richiesta per le operazioni Wi-Fi su entrambe le piattaforme.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();console.log('Location permission:', status.location);requestPermissions
Sezione intitolata “richiesta di autorizzazione”Richiedi le autorizzazioni di posizione all'utente. L'autorizzazione di posizione è richiesta per le operazioni 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');}Tipo di riferimento
Sezione intitolata “Tipo di riferimento”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 “DisconnectOptions”Opzioni per disconnettere 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 da getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Sezione intitolata “GetIpAddressResult”Risultato da getIpAddress().
export interface GetIpAddressResult { /** * The device's IP address * * @since 7.0.0 */ ipAddress: string;}GetRssiResult
Sezione intitolata “GetRssiResult”Risultato da getRssi().
export interface GetRssiResult { /** * The signal strength in dBm * * @since 7.0.0 */ rssi: number;}GetSsidResult
Sezione intitolata “GetSsidResult”Risultato da 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 dei permessi.
export interface PermissionStatus { /** * Location permission state * * @since 7.0.0 */ location: PermissionState;}RequestPermissionsOptions
Sezione intitolata “RequestPermissionsOptions”Opzioni per richiedere i permessi.
export interface RequestPermissionsOptions { /** * Permissions to request * * @since 7.0.0 */ permissions?: 'location'[];}NetworkSecurityType
Sezione intitolata “NetworkSecurityType”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 e può essere aggiornata quando le informazioni pubbliche __CAPGO_KEEP_0__ vengono aggiornate su Cloudflare. src/definitions.ts. Re-run the sync when the public API changes upstream.
Sezione intitolata “Continua da Iniziare”
Continua da IniziareSe stai utilizzando Iniziare per pianificare il dashboard e le operazioni API, connettilo con Utilizzare @capgo/capacitor-wifi per la capacità nativa in Utilizzare @capgo/capacitor-wifi, API Panoramica per i dettagli di implementazione in API Panoramica, Introduzione per i dettagli di implementazione in Introduzione, API Chiavi per i dettagli di implementazione in API Chiavi, e Dispositivi per i dettagli di implementazione in dispositivi.