
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-ai-navigation-sdk
Advanced tools
A react native wrapper around combain ai navigation sdk
npm install react-native-ai-navigation-sdk
import { initSDK } from 'react-native-ai-navigation-sdk';
// ...
const sync: SyncingInterval = {
interval: 1,
};
const routingConfig: ReactRoutingConfig = {
routableNodesOptions: ReactRoutableNodesOptions.All,
};
const indoorNavigationSDKConfig: ReactIndoorNavigationSDKConfig = {
apiKey: "API-key",
routingConfig: routingConfig,
syncingInterval: sync,
};
const initializeSDK = async () => {
try {
await initSDK(indoorNavigationSDKConfig);
console.log('SDK initialized');
await start()
console.log("SDK STARTED")
} catch (error) {
console.error('SDK initialization error:', error);
}
};
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
todo: https://github.com/zoontek/react-native-permissions?tab=readme-ov-file#expo Made with create-react-native-library
Currently only works with android
In react native without expo
Go to the prebuild android folder, change minSDK version from 23 to 28
add following to the build.gradle folder in the app directory
repositories {
mavenCentral()
google()
maven{
url "https://gitlab.com/api/v4/projects/3194773/packages/maven"
}
}
If you are running an expo application generate an android prebuild by running
npx expo run:android
Does not work with expo go, need to run the sdk in native apps Use the generated prebuild and do the same steps as in react app without expo
For the native code to communciate back to the JS implementation, the js has to listen to certain events by calling
const eventListener = DeviceEventEmitter.addListener('eventName', (params) => {
setParam(param);
});
Each event will give a param which is a readableMap that can be used to match certain datatypes in the SDK
The React Native AI Indoor SDK provides various events to help you track and manage different aspects of the indoor navigation system. Below is a list of the available event types:
routeUpdated
Triggered when the route information is updated. Will return ReactNativeRoutingPositionas param
nextScanTimeUpdate
Indicates the next scan time update. Will return number as param but to extract the number simply do param.nextScan
newModelUpdate
Signifies an update to the model. Will return string as param but to extract the number simply do param.modelType
wifiUpdate
Signifies an update to the wifi pipe results. Will return ReactNativeWifiPipeResult as param
bleUpdate
Relates to updates in Bluetooth pipe results. Will return ReactNativeBLePipeResult as param
newGpsLocationUpdate
Reflects a new GPS location update. Will return ReactNativeGpsLocation as param
localLookUpPipeResultUpdate
Updates related to local lookup results. Will return ReactNativeLookUpPipeResult as param
confidenceScoreUpdate
Indicates a change in the confidence score. Will return number as param to extract the number call param.confidenceScore
usingGPSUpdate
Shows updates on the usage of GPS. Returns if gps is used for positioning or not as param
To setup iOS permissions some setup is needed, first add this to your Podfile:
```diff
# Transform this into a `node_require` generic function:
- # Resolve react_native_pods.rb with node to allow for hoisting
- require Pod::Executable.execute_command('node', ['-p',
- 'require.resolve(
- "react-native/scripts/react_native_pods.rb",
- {paths: [process.argv[1]]},
- )', __dir__]).strip
+ def node_require(script)
+ # Resolve script with node to allow for hoisting
+ require Pod::Executable.execute_command('node', ['-p',
+ "require.resolve(
+ '#{script}',
+ {paths: [process.argv[1]]},
+ )", __dir__]).strip
+ end
# Use it to require both react-native's and this package's scripts:
+ node_require('react-native/scripts/react_native_pods.rb')
+ node_require('react-native-permissions/scripts/setup.rb')
+ setup_permissions([
+ 'LocationWhenInUse',
+ 'Motion',
+ ])
Then execute pod install in your ios directory
Then add these keys to your Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need this permisison to determine your location</string>
<key>NSMotionUsageDescription</key>
<string>We need this permisison to determine your location</string>
FAQs
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.