Как идентифицировать пользователя мобильного приложения при подключении к Wi-Fi?

Существует домашняя автоматизация, построенная на платформе Tuya Smart IoT. Он используется для гостевого дома и имеет несколько сценариев, таких как встреча гостей, открытие дверей, включение света и т. д.

Посетители бронируют этот дом через мобильное приложение (созданное с помощью React Native). Есть ли возможность идентифицировать пользователя в мобильном приложении, чтобы при его подключении к Wi-Fi роутеру срабатывал какой-то сценарий?

Tuya IoT может запускать сценарии при подключении нового устройства, но как определить, является ли подключенное устройство точно таким же, которое забронировало этот дом из приложения? Невозможно прочитать IMEI или MAC-адрес устройства, поэтому я понятия не имею, как реализовать эту идентификацию.

2 ответа

вы можете использовать библиотеку react-native-net-info, с ее помощью мы можем получить состояние подключения, например, сеть Wi-Fi или SIM-карты и т. д. Также мы можем получить IP-адрес устройства и другую другую информацию, связанную с подключением.

Также подробные свойства указаны в ссылке NPM, приведенной ниже.

ссылка: https://www.npmjs.com/package/@react-native-community/netinfo

npm я реагирую-родная-сетевая-информация

      import { NetworkInfo } from "react-native-network-info";



// Get Local IP
NetworkInfo.getIPAddress().then(ipAddress => {
  console.log(ipAddress);
});
 
// Get IPv4 IP (priority: WiFi first, cellular second)
NetworkInfo.getIPV4Address().then(ipv4Address => {
  console.log(ipv4Address);
});
 

// Get Broadcast
NetworkInfo.getBroadcast().then(broadcast => {
  console.log(broadcast);
});
 

// Get SSID
NetworkInfo.getSSID().then(ssid => {
  console.log(ssid);
});



// Get BSSID
NetworkInfo.getBSSID().then(bssid => {
  console.log(bssid);
});



// Get Subnet
NetworkInfo.getSubnet().then(subnet => {
  console.log(subnet);
});
 

// Get Default Gateway IP
NetworkInfo.getGatewayIPAddress().then(defaultGateway => {
  console.log(defaultGateway);
});



// Get frequency (supported only for Android)
NetworkInfo.getFrequency().then(frequency => {
  console.log(frequency);
});
Другие вопросы по тегам