@hajajiya/test-sdk
Version:
This plugin allows to use the SDK in your React Native mobile application on iOS and Android.
70 lines (57 loc) • 1.43 kB
JavaScript
import { NativeEventEmitter, NativeModules } from 'react-native'
if (!NativeModules.RNRoam) {
throw new Error('NativeModules.RNRoam is undefined')
}
const eventEmitter = new NativeEventEmitter(NativeModules.RNRoam)
const requestLocationPermission = () => {
NativeModules.RNRoam.requestLocationPermission()
}
const startListener = (event, callback) =>
eventEmitter.addListener(event, callback)
const stopListener = (event) => {
eventEmitter.removeAllListeners(event)
}
const setForegroundNotification = (
enabled,
title,
description,
image,
activity,
roamService
) => {
NativeModules.RNRoam.setForegroundNotification(
enabled,
title,
description,
image,
activity,
roamService
)
}
const disableBatteryOptimization = () => {
NativeModules.RNRoam.disableBatteryOptimization()
}
const requestPhoneStatePermission = () => {
NativeModules.RNRoam.requestPhoneStatePermission()
}
const allowMockLocation = (enabled) => {
NativeModules.RNRoam.allowMockLocation(enabled)
}
const startTracking = (trackingMode) => {
NativeModules.RNRoam.startTracking(trackingMode)
}
const stopTracking = () => {
NativeModules.RNRoam.stopTracking()
}
const Roam = {
requestLocationPermission,
startListener,
stopListener,
setForegroundNotification,
disableBatteryOptimization,
requestPhoneStatePermission,
allowMockLocation,
startTracking,
stopTracking
}
export default Roam