1.0.6 • Published 1 year ago

react-native-cubetapsdk v1.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

React Native Cubetape Sdk

It helps to connect with cubetape bluetooth device.

Installation

  npm install react-native-cubetapsdk

Dependencies

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-service

Permission

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

MethodDescription
requestAllPermissionsrequest Bluetooth and Location permission.
checkAllPermissionscheck and return permissions status granted or not.
isBluetoothEnabledcheck and return if bluetooth is enabled or not.
enableBluetoothRequest that Android enable the bluetooth.
startDiscoverythis will resolve with an array of discovered BluetoothDevice(s).
startDiscoveryCubetapethis will resolve with an array of Cubetape BluetoothDevice(s).
stopDiscoverycancels the discovery process.
pairDeviceattempts to pair the specified device. Requires Android API level 19 or higher.
unPairDeviceattempts to unpair the specified device. Requires Android API level 19 or higher.
connectDeviceattempt to connect specific device.
disconnectDeviceattempt to disconnect specific device.
onDataReceivedprovide a listener for incoming data.
storeScanDatastore the data to the AsyncStorage.
getScanDataget the stored data from the AsyncStorage.
deleteDatadelete data from the AsyncStorage.
genereteCSVgenerate CSV file and stored in the device.
1.0.2

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago