This is React Native Bluetooth Low Energy library wrapping Multiplatform Ble Adapter.
It supports:
It does NOT support:
This version (2.x) breaks compatibility with old RN versions. Please check old README (1.x) for the old instructions or migration guide.
React Native | 2.0.0 |
---|---|
0.62.2 | ✅ |
0.61.5 | ✅ |
0.60.6 | ✅ |
2.0.0
callbackType
type definition.Interested in React Native project involving Bluetooth Low Energy? We can help you!
Learn more about Polidea’s React Native services.
Learn more about Polidea’s BLE services.
Documentation can be found here.
Contact us at Polidea.
Contact us at Gitter if you have any questions, feedback or want to help!
npm install --save react-native-ble-plx
npx react-native link react-native-ble-plx
Open Xcode workspace located inside ios
folder and add empty Swift file if you don’t have at least one:
Update your ios/Podfile
to contain (it may be already there):
pod 'react-native-ble-plx', :path => '../node_modules/react-native-ble-plx'
Enter ios
folder and run pod update
Add NSBluetoothAlwaysUsageDescription
in info.plist
file. (it is a requirement since iOS 13)
If you want to support background mode:
Capabilities
tab and enable Uses Bluetooth LE Accessories
in Background Modes
section.restoreStateIdentifier
and restoreStateFunction
to BleManager
constructor.npm install --save react-native-ble-plx
npx react-native link react-native-ble-plx
build.gradle
make sure that min SDK version is at least 18:buildscript {
ext {
...
minSdkVersion = 18
...
build.gradle
make sure to add jitpack repository to known repositories:allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
AndroidManifest.xml
, add Bluetooth permissions and update <uses-sdk/>
:<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- Add this line if your application always requires BLE. More info can be found on:
https://developer.android.com/guide/topics/connectivity/bluetooth-le.html#permissions
-->
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
...
Add this to your app/proguard-rules.pro
-dontwarn com.polidea.reactnativeble.**
Author: Polidea
GitHub: https://github.com/Polidea/react-native-ble-plx
#react-native #react #mobile-app