React Native library for getting information about the devices network
Version 3+ requires RN 0.47 or higher Version 2+ requires RN 0.40 - RN 0.46
npm install react-native-network-info --save
or
yarn add react-native-network-info
react-native link
import { NetworkInfo } from 'react-native-network-info';
// Get Local IP
NetworkInfo.getIPAddress(ip => {
console.log(ip);
});
// Get IPv4 IP
NetworkInfo.getIPV4Address(ipv4 => {
console.log(ipv4);
});
// Get Broadcast
NetworkInfo.getBroadcast(address => {
console.log(address);
});
// Get SSID
NetworkInfo.getSSID(ssid => {
console.log(ssid);
});
// Get BSSID
NetworkInfo.getBSSID(ssid => {
console.log(ssid);
});
If react-native link
fails.
-
In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]
-
Go to node_modules ➜ react-native-network-info and add the .xcodeproj file
-
Add
RNNetworkInfo.a
toBuild Phases -> Link Binary With Libraries
Run your project (Cmd+R)
-
Add the following lines to
android/settings.gradle
:include ':react-native-network-info' project(':react-native-network-info').projectDir = new File(settingsDir, '../node_modules/react-native-network-info/android')
-
Update the android build tools version to
2.2.+
inandroid/build.gradle
:buildscript { ... dependencies { classpath 'com.android.tools.build:gradle:2.2.+' // <- USE 2.2.+ version } ... } ...
-
Update the gradle version to
2.14.1
inandroid/gradle/wrapper/gradle-wrapper.properties
:... distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
-
Add the compile line to the dependencies in
android/app/build.gradle
:dependencies { ... compile project(':react-native-network-info') }
-
Add the import and link the package in
MainApplication.java
:import com.pusherman.networkinfo.RNNetworkInfoPackage; // <-- add this import public class MainApplication extends Application implements ReactApplication { @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new RNNetworkInfoPackage() // <-- add this line ); } }
Notes on how this package was made can be found here.