Getting Started
Einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guide für diesen Plugin kopieren.
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.
Installieren
Abschnitt mit dem Titel "Installieren"Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten Ihrem AI-Tool mithilfe der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann die folgende Anfrage:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-wifi` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter angegebenen Plattform-spezifischen Anweisungen befolgen:
bun add @capgo/capacitor-wifibunx cap syncImportieren
Abschnitt mit dem Titel „Importieren“import { CapacitorWifi } from '@capgo/capacitor-wifi';API-Übersicht
Abschnitt mit dem Titel “API Übersicht”addNetwork
Abschnitt mit dem Titel “addNetwork”Zeigt ein Systemdialog an, um ein WLAN-Netzwerk auf dem Gerät hinzuzufügen. Auf Android SDK 30+, öffnet dies die Systemeinstellungen für WLAN mit dem Netzwerk vorausgefüllt. Auf iOS verbindet dies direkt mit dem Netzwerk.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({ ssid: 'MyNetwork', password: 'mypassword', isHiddenSsid: false, securityType: NetworkSecurityType.WPA2_PSK});Verbinden Sie sich mit einem WLAN-Netzwerk. Auf Android erstellt dies eine temporäre Verbindung, die standardmäßig nicht den Datenverkehr durch das Netzwerk leitet. Setzen Sie autoRouteTraffic auf true, um die Anwendungsverbindung an das verbundene Netzwerk zu binden (nützlich für lokale/gerätegesteuerte APs). Für eine persistente Verbindung auf Android verwenden Sie stattdessen addNetwork(). Auf iOS erstellt dies eine persistente Verbindung.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.connect({ ssid: 'MyNetwork', password: 'mypassword', autoRouteTraffic: true // Android only: route app traffic through this network});disconnect
Abschnitt mit dem Titel “disconnect”Beenden Sie die Verbindung zum aktuellen WLAN-Netzwerk. Auf iOS beendet dies nur die Verbindung zu Netzwerken, die über diesen Plugin hinzugefügt wurden.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();getAvailableNetworks
Abschnitt mit dem Titel “getAvailableNetworks”Holen Sie sich eine Liste der verfügbaren WLAN-Netzwerke aus der letzten Scan. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { networks } = await CapacitorWifi.getAvailableNetworks();networks.forEach(network => { console.log(`SSID: ${network.ssid}, Signal: ${network.rssi} dBm`);});getIpAddress
Abschnitt mit dem Titel “getIpAddress”Ermitteln Sie die aktuelle IP-Adresse des Geräts. Verfügbar auf Android und iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();console.log('IP Address:', ipAddress);Ermitteln Sie den Empfangssignalstärke-Indikator (RSSI) des aktuellen Netzwerks in dBm. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { rssi } = await CapacitorWifi.getRssi();console.log('Signal strength:', rssi, 'dBm');Ermitteln Sie den Dienst-Set-Identifier (SSID) des aktuellen Netzwerks. Verfügbar auf Android und iOS.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();console.log('Connected to:', ssid);getWifiInfo
Abschnitt mit dem Titel “getWifiInfo”Ermitteln Sie umfassende Informationen über das derzeit verbundene WLAN-Netzwerk. Diese Methode liefert detaillierte Netzwerkinformationen einschließlich SSID, BSSID, IP-Adresse, Frequenz, Linkgeschwindigkeit und Signalstärke in einem Aufruf. Auf iOS mögen einige Felder nicht verfügbar sein und werden als undefiniert angezeigt.
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
Abschnitt mit dem Titel „isEnabled“Überprüfen Sie, ob das WLAN auf dem Gerät aktiviert ist. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { enabled } = await CapacitorWifi.isEnabled();console.log('WiFi is', enabled ? 'enabled' : 'disabled');startScan
Abschnitt mit dem Titel „startScan“Starten Sie die Suche nach WLAN-Netzwerken. Nur auf Android verfügbar. Die Ergebnisse werden über den Ereignislistener „networksScanned“ geliefert. Hinweis: Es kann aufgrund von Systembeschränkungen oder Hardwareproblemen fehlschlagen.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Abschnitt mit dem Titel „checkPermissions“Überprüfen Sie den aktuellen Status der Berechtigung für die Standortfreigabe. Die Standortfreigabe ist für WLAN-Funktionen auf beiden Plattformen erforderlich.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();console.log('Location permission:', status.location);requestPermissions
Abschnitt mit dem Titel „requestPermissions“Bitten Sie den Benutzer um die Standortfreigabe. Die Standortfreigabe ist für WLAN-Funktionen auf beiden Plattformen erforderlich.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.requestPermissions();if (status.location === 'granted') { console.log('Permission granted');}Typenreferenz
Abschnitt mit dem Titel „Typenreferenz“AddNetworkOptions
Abschnitt mit dem Titel „AddNetworkOptions“Einstellungen für die Hinzufügung eines Netzwerks.
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
Abschnitt mit dem Titel „ConnectOptions“Einstellungen für das Verbinden mit einem Netzwerk.
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
Abschnitt mit dem Titel „DisconnectOptions“Einstellungen für das Trennen von einem Netzwerk.
export interface DisconnectOptions { /** * The SSID of the network to disconnect from (optional) * * @since 7.0.0 */ ssid?: string;}GetAvailableNetworksResult
Abschnitt mit dem Titel “GetAvailableNetworksResult”Ergebnis von getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Abschnitt mit dem Titel “GetIpAddressResult”Ergebnis von getIpAddress().
export interface GetIpAddressResult { /** * The device's IP address * * @since 7.0.0 */ ipAddress: string;}GetRssiResult
Abschnitt mit dem Titel “GetRssiResult”Ergebnis von getRssi().
export interface GetRssiResult { /** * The signal strength in dBm * * @since 7.0.0 */ rssi: number;}GetSsidResult
Abschnitt mit dem Titel “GetSsidResult”Ergebnis von getSsid().
export interface GetSsidResult { /** * The SSID of the current network * * @since 7.0.0 */ ssid: string;}Umfassende Informationen zum WiFi.
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
Abschnitt mit dem Titel “IsEnabledResult”Ergebnis von isEnabled().
export interface IsEnabledResult { /** * Whether Wi-Fi is enabled * * @since 7.0.0 */ enabled: boolean;}PermissionStatus
Abschnitt mit dem Titel “PermissionStatus”Zustand der Berechtigung.
export interface PermissionStatus { /** * Location permission state * * @since 7.0.0 */ location: PermissionState;}RequestPermissionsOptions
Abschnitt mit dem Titel “RequestPermissionsOptions”Optionen für die Anfrage von Berechtigungen.
export interface RequestPermissionsOptions { /** * Permissions to request * * @since 7.0.0 */ permissions?: 'location'[];}NetworkSecurityType
Abschnitt mit dem Titel “Netzwerk-Sicherheits-Typ”Netzwerk-Sicherheits-Typen.
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,}Quelle der Wahrheit
Abschnitt mit dem Titel “Quelle der Wahrheit”Diese Seite wird aus dem Plugin generiert. src/definitions.tsWenn sich die öffentliche API im Hintergrund ändert, führen Sie die Synchronisierung erneut durch.
Weitermachen von Getting Started
Abschnitt mit dem Titel “Weitermachen von Getting Started”Wenn Sie Getting Started zur Planung von Dashboard und API-Operationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-wifi für die native Fähigkeit in Mit @capgo/capacitor-wifi API Übersicht für die Implementierungsdetails in API Übersicht Einführung für die Implementierungsdetails in Einführung API Schlüssel für die Implementierungsdetails in API Schlüssel und Geräte für die Implementierungsdetails in Geräte.