Getting Started
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
Sottosezione 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 l'installazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
bun add @capgo/capacitor-wifibunx cap syncImportazione
Sezione intitolata “Importazione”import { 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 direttamente alla rete.
import { CapacitorWifi, NetworkSecurityType } 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. 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 attuale. Solo su iOS, si disconnette solo dalle reti aggiunte tramite questo plugin.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();getAvailableNetworks
Sezione intitolata “getAvailableNetworks”Ottieni l'elenco delle reti Wi-Fi disponibili dall'ultimo 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 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');getSsid
Sezione intitolata “getSsid”Ottenere l'identificatore di set di servizi (SSID) della rete corrente. Disponibile su entrambi Android e iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();console.log('Connected to:', ssid);getWifiInfo
Sezione intitolata “getWifiInfo”Ottenere 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
Sezione intitolata “isEnabled”Verificare 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
Sezione intitolata “startScan”Avviare la scansione delle reti Wi-Fi. Disponibile solo su Android. I risultati vengono inviati tramite l'ascoltatore di evento ‘networksScanned’. Nota: potrebbe fallire a causa di problemi di sistema o di hardware.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Sezione intitolata “checkPermissions”Verifica lo stato di autorizzazione corrente per l'accesso alla posizione. È richiesta l'autorizzazione alla posizione 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
Sottosezione intitolata “richiestaAutorizzazioni”Richiedi le autorizzazioni alla posizione all'utente. È richiesta l'autorizzazione alla posizione 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
Sottosezione intitolata “Tipo di riferimento”AddNetworkOptions
Sottosezione intitolata “AggiungiOpzioniRete”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
Sottosezione 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 la disconnessione da una rete.
export interface DisconnectOptions { /** * The SSID of the network to disconnect from (optional) * * @since 7.0.0 */ ssid?: string;}GetAvailableNetworksResult
Sottosezione intitolata “Risultato delle reti disponibili”Risultato da getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Risultato dell'indirizzo IPRisultato 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 di autorizzazione.
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’s src/definitions.tsRiscrivi la sincronizzazione quando il pubblico API cambia in modo upstream.
Continua da Iniziato all'Avvio
Sezione intitolata “Continua da Inizia”Se stai utilizzando Getting Started per pianificare il dashboard e le operazioni di API, connettilo con Utilizza @capgo/capacitor-wifi per la capacità nativa in Utilizza @capgo/capacitor-wifi, Panoramica di API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi di API per i dettagli di implementazione in Chiavi di API, Dispositivi per i dettagli di implementazione in Dispositivi.