Zum Inhalt springen

Anfang

GitHub

Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihre AI-Werkzeug hinzufügen, indem Sie die folgende Befehl ausführen:

Terminal-Fenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Verwenden 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 folgen Sie den unten aufgeführten Plattform-spezifischen Anweisungen:

Terminal-Fenster
bun add @capgo/capacitor-wifi
bunx cap sync
import { CapacitorWifi } from '@capgo/capacitor-wifi';

Zeigt ein Systemdialog an, um einem Gerät einen Wi-Fi-Netzwerk hinzuzufügen. Auf Android SDK 30+ öffnet dies die Systemeinstellungen für Wi-Fi mit dem Netzwerk vorausgefüllt. Auf iOS verbindet dies das Gerät 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 Wi-Fi-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 den Anwendungsdatenverkehr an das verbundene Netzwerk zu binden (nützlich für lokale/gerätegehostete 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
});

Trennen Sie sich vom aktuellen Wi-Fi-Netzwerk. Auf iOS trennt dies sich nur von Netzwerken, die über diesen Plugin hinzugefügt wurden.

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

Ermitteln Sie eine Liste der verfügbaren Wi-Fi-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`);
});

Ermitteln Sie die aktuelle IP-Adresse des Geräts. Verfügbar auf beiden Android- und iOS-Geräten.

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 Netzes 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 die Dienstidentifikationsnummer (SSID) des aktuellen Netzes. Verfügbar auf beiden Android- und iOS-Geräten.

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

Erfassen 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 einzigen Aufruf. Auf iOS mögen einige Felder nicht verfügbar sein und sind undefiniert.

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

Ü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');

Starten Sie die Suche nach WLAN-Netzwerken. Nur auf Android verfügbar. Die Ergebnisse werden über den Ereignislistener ‘networksScanned’ übermittelt. 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();

Überprüfen Sie den aktuellen Zustand der Berechtigungen für die Standortzugriffsberechtigung. Die Standortberechtigung ist für WLAN-Operationen auf beiden Plattformen erforderlich.

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

Bitten Sie den Benutzer um die Genehmigung für die Standortverwendung. Die Standortgenehmigung ist erforderlich für die Wi-Fi-Funktion auf beiden Plattformen.

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

Optionen zum Hinzufügen 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;
}

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

Optionen zum Abmelden von einem Netzwerk.

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

Ergbnis von getAvailableNetworks().

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

Ergbnis von getIpAddress().

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

Ergbnis von getRssi().

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

Ergbnis von getSsid().

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

Zusammenfassende Informationen zum WiFi-Netzwerk.

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

Ergbnis von isEnabled().

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

Zustand der Berechtigung.

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

Einstellungen für die Anforderung von Berechtigungen.

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

Netzwerk-Sicherheitstypen.

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

Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API upstream geändert wird.

Wenn Sie verwenden Einstieg um das Dashboard und API-Operationen zu planen, verbinden Sie es mit Für die native Fähigkeit in Using @capgo/capacitor-wifi for the native capability in Using @capgo/capacitor-wifi, Für die Implementierungsdetails in API-Übersicht for the implementation detail in API Overview, Für die Implementierungsdetails in Einführung __CAPGO_KEEP_0__-Schlüssel Für die Implementierungsdetails in API-Schlüssel und for the implementation detail in API Keys, and Getting Started für die Implementierungsdetails in Geräten.