Skip to content

manuelkch/react-native-network-connection-class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Native Network Connection Class

Android Bridge to Facebook's Network Connection Class

Network Connection Class is an Android library that allows you to figure out the quality of the current user's internet connection. The connection gets classified into several "Connection Classes" that make it easy to develop against.

NPM

Installation

1) npm i --save react-native-network-connection-class

or manually:
Add repository to package.json
"react-native-device-year-class": "git+ssh://[email protected]:manuelkch/react-native-network-connection-class.git"

2) Run
npm install

or manually:
git clone the directory to [node_modules/react-native-network-connection-class]

Add it to your react-native project

React Native Link

react-native link react-native-network-connection-class

or manually

  • In android/setting.gradle

     ...
    include ':react-native-network-connection-class'
    project(':react-native-network-connection-class').projectDir = new File(settingsDir, '../node_modules/react-native-network-connection-class/android')
    
  • In android/app/build.gradle

     ...
     dependencies {
         ...
       compile project(':react-native-network-connection-class')
     }
    
  • register module in MainApplication.java

      import com.ymc.NetworkConnectionClass.Package;  
      ...
    
      protected List<ReactPackage> getPackages() {
          return Arrays.<ReactPackage>asList(
                  new MainReactPackage(),
                  new Package() // <-- Add this line.
          );
      }

Example

...
import NetworkConnectionClass from 'react-native-network-connection-class'  
	...
	//listen to connection class changes
	DeviceEventEmitter.addListener('connectionClassChange', function(e: Event) {
		// new state
    console.warn(e.state)
  })
	...
	//get current class string (POOR, MODERATE,GOOD or EXCELENT)
	NetworkConnectionClass.getCurrentQuality().then((status) => {
		//current state
		console.warn(status)
	})
	...
	//start/stop sampling bandwith data on newtork activities
	NetworkConnectionClass.startSampling()
	.fetch('https://jsonplaceholder.typicode.com/photos')
		.then(function(response) {
			NetworkConnectionClass.stopSampling()
			...
	})
	...
	// get boolean if sampling thread is running
	NetworkConnectionClass.getSamplingState().then((isSampling) => {
		console.warn(isSampling)
	})

About

React Native Android Bridge to Facebook's Network Connection Class

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published