@falconeta/capacitor-wifi-connect
TypeScript icon, indicating that this package has built-in type declarations

6.1.0 • Public • Published

@falconeta/capacitor-wifi-connect

Do you like the plugin?

If you can contribute or you want to, feel free to do it at Buy me a coffee! ☕, I will be really thankfull for anything even if it is a coffee or just a kind comment towards my work, because that helps me a lot.

"Buy Me A Coffee"

Description

plugin used for connect the device trhought Wifi also with prefix

Install

npm install @falconeta/capacitor-wifi-connect
npx cap sync

Example usage

import { CapacitorWifiConnect } from "@falconeta/capacitor-wifi-connect";

  async secureConnect() {
    let { value } = await CapacitorWifiConnect.checkPermission();
    if (value === 'prompt') {
      const data = await CapacitorWifiConnect.requestPermission();
      value = data.value;
    }
    if (value === 'granted') {
      CapacitorWifiConnect.secureConnect({
        ssid: 'SSID', 
        password: 'PWD', 
      }).then((data) => alert(data.value));
    } else {
      throw new Error('permission denied');
    }
  }

iOS Functions

For functionality, you need to note the following:

  • Connect/Disconnect only works for iOS11+

  • prefixConnect/securePrefixConnect only works for iOS13+

  • Can't run in the simulator so you need to attach an actual device when building with xCode

  • Will ensure 'HotspotConfiguration' and 'Wifi Information' capabilities are added to your xCode project

  • Will ensure that these permission are described in info.plist

  <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
  <string>...</string>
  <key>NSLocationAlwaysUsageDescription</key>
  <string>...</string>
  <key>NSLocationWhenInUseUsageDescription</key>
  <string>...</string>

API

checkPermission()

checkPermission() => Promise<{ value: PermissionState; }>

method that check if the app has autorization or not to use the location capability.

Returns: Promise<{ value: PermissionState; }>

Since: 1.0.0


requestPermission()

requestPermission() => Promise<{ value: PermissionState; }>

method that request (if the status of authorization is prompt) autorization to use the location capability.

Returns: Promise<{ value: PermissionState; }>

Since: 1.0.0


disconnect()

disconnect() => Promise<{ value: boolean; }>

method that disconnects from the wifi network if the network was connected to using one of the connect methods.

Returns: Promise<{ value: boolean; }>

Since: 1.0.0


getSSIDs()

getSSIDs() => Promise<{ value: string[]; status: ConnectState; }>

ONLY ANDROID returns the current SSID connected by Application WARNING: app is restricted to 4 scans every 2 minutes

Returns: Promise<{ value: string[]; status: ConnectState; }>

Since: 5.1.0


getAppSSID()

getAppSSID() => Promise<{ value: string; status: ConnectState; }>

returns the current SSID connected by Application

Returns: Promise<{ value: string; status: ConnectState; }>

Since: 5.1.0


getDeviceSSID()

getDeviceSSID() => Promise<{ value: string; status: ConnectState; }>

iOS >= 14, Android >=9:

returns the current SSID connected by device

Returns: Promise<{ value: string; status: ConnectState; }>

Since: 5.1.0


connect(...)

connect(options: { ssid: string; saveNetwork?: boolean; }) => Promise<{ value: ConnectState; }>

method attempts to connect to wifi matching explicitly the ssid parameter WARNING: saveNetwork is enabled by default on iOS and cannot be disabled due Apple's bug. (https://forums.developer.apple.com/forums/thread/700612)

Param Type
options { ssid: string; saveNetwork?: boolean; }

Returns: Promise<{ value: ConnectState; }>

Since: 1.0.0


prefixConnect(...)

prefixConnect(options: { ssid: string; saveNetwork?: boolean; }) => Promise<{ value: ConnectState; }>

method attempts to connect to the nearest wifi network with the ssid prefix matching the ssidPrefix parameter. WARNING: saveNetwork is enabled by default on iOS and cannot be disabled due Apple's bug. (https://forums.developer.apple.com/forums/thread/700612)

Param Type
options { ssid: string; saveNetwork?: boolean; }

Returns: Promise<{ value: ConnectState; }>

Since: 1.0.0


secureConnect(...)

secureConnect(options: { ssid: string; password: string; saveNetwork?: boolean; isWep?: boolean; }) => Promise<{ value: ConnectState; }>

method attempts to connect to wifi matching explicitly the ssid parameter. This will fail if the password doesn't match or the isWep parameter isn't set correctly. Android does not support WEP Networks. WARNING: saveNetwork is enabled by default on iOS and cannot be disabled due Apple's bug. (https://forums.developer.apple.com/forums/thread/700612)

Param Type
options { ssid: string; password: string; saveNetwork?: boolean; isWep?: boolean; }

Returns: Promise<{ value: ConnectState; }>

Since: 1.0.0


securePrefixConnect(...)

securePrefixConnect(options: { ssid: string; password: string; saveNetwork?: boolean; isWep?: boolean; }) => Promise<{ value: ConnectState; }>

method attempts to connect to the nearest wifi network with the ssid prefix matching the ssidPrefix parameter. This will fail if the password doesn't match or the isWep parameter isn't set correctly. Android does not support WEP Networks. WARNING: saveNetwork is enabled by default on iOS and cannot be disabled due Apple's bug. (https://forums.developer.apple.com/forums/thread/700612)

Param Type
options { ssid: string; password: string; saveNetwork?: boolean; isWep?: boolean; }

Returns: Promise<{ value: ConnectState; }>

Since: 1.0.0


Type Aliases

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

Enums

ConnectState

Members Value
Ok 0
Denied -1
Ko -2
UnknowSsid -3
WifiDisabled -4
AppLocalizationPermission -5
SystemLocalizationPermission -6

Readme

Keywords

Package Sidebar

Install

npm i @falconeta/capacitor-wifi-connect

Weekly Downloads

182

Version

6.1.0

License

MIT

Unpacked Size

93.1 kB

Total Files

27

Last publish

Collaborators

  • falconeta-dev