$ npm install react-native-ping --save or $ yarn add react-native-ping
$ react-native link react-native-ping
- In XCode, in the project navigator, right click
Libraries➜Add Files to [your project's name] - Go to
node_modules➜react-native-pingand addRNReactNativePing.xcodeproj - In XCode, in the project navigator, select your project. Add
libRNReactNativePing.ato your project'sBuild Phases➜Link Binary With Libraries - Run your project (
Cmd+R)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.LHPing.RNReactNativePingPackage;to the imports at the top of the file - Add
new RNReactNativePingPackage()to the list returned by thegetPackages()method
- Append the following lines to
android/settings.gradle:
include ':react-native-ping' project(':react-native-ping').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-ping/android') - Insert the following lines inside the dependencies block in
android/app/build.gradle:
compile project(':react-native-ping') - (optional)
You can override this settings by adding a Project-wide gradle configuration properties for use by all modules in your ReactNative project by adding the below to android/build.gradle file,
buildscript {...} allprojects {...} /** * Project-wide gradle configuration properties for use by all modules */ ext { compileSdkVersion = 26 targetSdkVersion = 26 buildToolsVersion = "26.0.2" googlePlayServicesVersion = "12.0.1" googlePlayServicesVisionVersion = "15.0.2" supportLibVersion = "27.1.0" }import Ping from 'react-native-ping'; ... try { /** * * Get RTT (Round-trip delay time) * * @static * @param {string} ipAddress - For example : 8.8.8.8 * @param {Object} option - Some optional operations * @param {number} option.timeout - timeout * @returns * @memberof Ping */ const ms = await Ping.start('114.114.114.114',{ timeout: 1000 }); console.log(ms); } catch (error) { console.log('special code',error.code, error.message); }| Code | Message | platform |
|---|---|---|
| "0" | PingUtil_Message_Timeout | iOS,Android |
| "1" | PingUtil_Message_PreviousPingIsStillRunning | / |
| "2" | PingUtil_Message_HostErrorNotSetHost | iOS,Android |
| "3" | PingUtil_Message_HostErrorUnknown | iOS,Android |
| "4" | PingUtil_Message_HostErrorHostNotFound | Only iOS |
| "5" | PingUtil_Message_Unknown | Only iOS |
| Property | Description |
|---|---|
| receivedNetworkSpeed | Download Speed per second |
| sendNetworkSpeed | Upload Speed per second |
| receivedNetworkTotal | Download Total |
| sendNetworkTotal | Upload Total |
import Ping from 'react-native-ping'; ... const { receivedNetworkSpeed, sendNetworkSpeed, receivedNetworkTotal, sendNetworkTotal } = await Ping.getTrafficStats();