Installation
Getting the library
npm install react-native-telink-ble
or using yarn:
yarn add react-native-telink-ble
Android configuration
Add Kotlin support
Add Kotlin support to your project follow this guide: https://developer.android.com/kotlin/add-kotlin
Add TelinkBleMeshLib to your Gradle settings
Add this to settings.gradle
:
include(":TelinkBleMeshLib")
project(":TelinkBleMeshLib").projectDir = new File("../node_modules/react-native-telink-ble/android/TelinkBleMeshLib")
Add this to app/build.gradle
:
dependencies {
// ...
implemetation project(":TelinkBleMeshLib")
}
Extends TelinkBleApplication
Replace your MainApplication.java
or MainApplication.kt
to extends the TelinkBleApplication
class:
// ...
import com.react.telink.ble.TelinkBleApplication
class MainApplication : TelinkBleApplication(), ReactApplication {
// ...
}
Extends TelinkBleActivity
Replace your MainActivity.java
or MainActivity.kt
to extends the TelinkBleActivity
class:
// ...
import com.react.telink.ble.TelinkBleActivity
class MainActivity : TelinkBleActivity() {
// ...
}
Permission declaration
Bluetooth permissions are already declared in the library
iOS configuration
Adding Pod dependencies
pod "TelinkSigMeshLib", :path => "../node_modules/react-native-telink-ble"
pod "react-native-telink-ble", :path => "../node_modules/react-native-telink-ble"
Adding Swift support
Simply create a new Swift source file inside your iOS project with bridging header enabled.
Configure MeshSDK
Add import statements to your AppDelegate.mm
file:
#import <react-native-telink-ble/TelinkBle.h>
#import <react-native-telink-ble/TelinkBle+MeshSDK.h>
and inside didFinishLaunchingWithOptions
method:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ...
[self.window makeKeyAndVisible];
[TelinkBle startMeshSDK]; // <- add this
return YES;
}
Permission declaration
Add the following privacy statements to Info.plist
:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App needs Bluetooth permission to scan, connect and control BLE devices</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>App needs Bluetooth permission to scan, connect and control BLE devices</string>