# @deono/react-native-sensors-sampler

> Library used to get native sensors values

Latest version **1.0.13** (published 2021-03-12) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @deono/react-native-sensors-sampler
pnpm add @deono/react-native-sensors-sampler
yarn add @deono/react-native-sensors-sampler
bun add @deono/react-native-sensors-sampler
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.13 |
| Published | 2021-03-12 |
| First published | 2021-03-12 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 112.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Ofri Ivzori |
| Maintainers | deono |
| Keywords | react-native, react-native-sensors-sampler, sensors, lux, spl |

## Links

- npm: https://www.npmjs.com/package/@deono/react-native-sensors-sampler
- Repository: https://github.com/xXDeonoXx/react-native-sensors-sampler
- Homepage: https://github.com/xXDeonoXx/react-native-sensors-sampler#readme
- Issues: https://github.com/xXDeonoXx/react-native-sensors-sampler/issues
- npm.io page: https://npm.io/package/@deono/react-native-sensors-sampler

## Recent versions

- 1.0.13 (latest) — 2021-03-12

## README

# react-native-sensors-sampler

## Getting started

`$ npm install react-native-sensors-sampler --save`

### Mostly automatic installation

`$ react-native link react-native-sensors-sampler`

### Manual installation


#### iOS

1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`
2. Go to `node_modules` ➜ `react-native-sensors-sampler` and add `SensorsSampler.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libSensorsSampler.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`
4. Run your project (`Cmd+R`)<

#### Android

1. Open up `android/app/src/main/java/[...]/MainApplication.java`
  - Add `import com.dayzz.sensors.SensorsSamplerPackage;` to the imports at the top of the file
  - Add `new SensorsSamplerPackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
  	```
  	include ':react-native-sensors-sampler'
  	project(':react-native-sensors-sampler').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-sensors-sampler/android')
  	```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
  	```
      implementation project(':react-native-sensors-sampler')
  	```

### Permissions

#### iOS

1. to use light sampler you need to have Camera permission
2. to use noise sampler you need to have Microphone permission

#### Android

1. to use noise sampler you need to have
      ```
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
      ```

## Usage
```javascript
import { allowedSubscriptions, subscribeTo, unsubscribe, settings } from 'react-native-sensors-sampler';

// set settings - every key is optional
settings({
    interval: 100, // 100 millis
    period: 10000, // 10000 millis
    useBackCamera: true // only iOS - for light sampler, default false
})

// subscribe to event
subscribeTo(
    allowedSubscriptions.NOISE, // event
    ({ value, updateType }) => { ... }, // update callback
    (error) => { ... }, // error callback - subscription faild
);

// unsubscribe from event
// no need to call this method when subscription period is over
unsubscribe(allowedSubscriptions.NOISE);
```

### Parameters

| Parameter     | Description                        | Default |
| ------------- | ---------------------------------- | ------- |
| interval      | update interval in milliseconds    | 100     |
| period        | sample period in milliseconds      | 10000   |
| useBackCamera | [iOS only] use for light sampling  | false   |


#### Update callback
1. updateType: 'update' | 'end'
2. value [double]:\
    a. light: LUX\
    b. noise: SPL

---
_Source: https://npm.io/package/@deono/react-native-sensors-sampler · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
