1.0.6 • Published 1 year ago
react-native-cubetapsdk v1.0.6
React Native Cubetape Sdk
It helps to connect with cubetape bluetooth device.
Installation
npm install react-native-cubetapsdkDependencies
This library needs these dependencies to be installed in your project before you can use it:
npm install react-native-bluetooth-classic @react-native-async-storage/async-storage react-native-fs react-native-geolocation-servicePermission
Add required permissions in AndroidMainfest.xml
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-feature android:name="android.hardware.bluetooth" android:required="true"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>Usage
import {
enableBluetooth,
isBluetoothEnabled,
requestAllPermissions,
checkAllPermissions,
startDiscoveryCubetape,
requestLocationService
} from 'react-native-cubetapsdk';
const App = () =>{
const [permissionStatus,setPermissionStatus] = useState()
const [bluetoothEnabled,setBluetoothEnabled] = useState()
useEffect(()=>{
checkPermission()
},[])
const checkPermission = async () => {
const permissionStatus = await checkAllPermissions()
setPermissionStatus(permissionStatus)
if(!permissionStatus){
const isPermissionGranted = await requestAllPermissions()
setPermissionStatus(isPermissionGranted)
}
}
useEffect(() => {
if (permissionStatus) {
checkBluetoothStatus()
}
}, [permissionStatus])
useEffect(() => {
if (bluetoothEnabled) {
getBluetoothDevice()
} else{
enableBluetooth()
}
}, [bluetoothEnabled])
const checkBluetoothStatus = async () => {
const check = await isBluetoothEnabled()
setBluetoothEnabled(check)
}
const getBluetoothDevice = async () => {
const isLocationEnabled = await requestLocationService()
if (!isLocationEnabled) {
return
}
const device = await startDiscoveryCubetape();
}
}Methods
| Method | Description |
|---|---|
| requestAllPermissions | request Bluetooth and Location permission. |
| checkAllPermissions | check and return permissions status granted or not. |
| isBluetoothEnabled | check and return if bluetooth is enabled or not. |
| enableBluetooth | Request that Android enable the bluetooth. |
| startDiscovery | this will resolve with an array of discovered BluetoothDevice(s). |
| startDiscoveryCubetape | this will resolve with an array of Cubetape BluetoothDevice(s). |
| stopDiscovery | cancels the discovery process. |
| pairDevice | attempts to pair the specified device. Requires Android API level 19 or higher. |
| unPairDevice | attempts to unpair the specified device. Requires Android API level 19 or higher. |
| connectDevice | attempt to connect specific device. |
| disconnectDevice | attempt to disconnect specific device. |
| onDataReceived | provide a listener for incoming data. |
| storeScanData | store the data to the AsyncStorage. |
| getScanData | get the stored data from the AsyncStorage. |
| deleteData | delete data from the AsyncStorage. |
| genereteCSV | generate CSV file and stored in the device. |