@sentiance-react-native/core
v6.27.1
Published
The Sentiance Core library
Readme
Sentiance Core module for React Native
Demo Application (RN CLI)
https://github.com/sentiance/sample-apps-react-native
Demo Application (Expo)
https://github.com/sentiance/sentiance.sdk.sample-apps-expo
Usage
To use the core SDK module, please visit the corresponding API reference page.
Expo configuration
This package ships with an Expo config plugin. Add it to your app.json (or app.config.js):
{
"expo": {
"plugins": [
["@sentiance-react-native/core", {
"android": {
"notification": {
"title": "Trip detection running",
"text": "We're recording your drive."
}
}
}]
]
}
}After changing any plugin option, run npx expo prebuild --clean and rebuild your dev client. Plugin options are baked into native files at prebuild time, so changes do not take effect until you regenerate.
Options
| Option | Type | Default | Platforms | Description |
|---|---|---|---|---|
| android.notification.title | string | App name | Android | Title of the foreground service notification shown while the SDK is running. |
| android.notification.text | string | (native fallback) | Android | Body of the foreground service notification. |
| android.notification.icon | string | (native fallback) | Android | Drawable resource name. The @drawable/ prefix is added automatically if omitted. |
| android.notification.channelId | string | (native fallback) | Android | Notification channel ID. |
| android.notification.channelName | string | (native fallback) | Android | Notification channel name shown in system settings. |
| android.notification.id | number | (native fallback) | Android | Numeric notification ID for the foreground service notification. |
What this plugin does
On prebuild, the plugin modifies your native projects:
- Android. Adds the Sentiance Maven repository to your gradle setup, requests
ACCESS_BACKGROUND_LOCATIONandACTIVITY_RECOGNITIONinAndroidManifest.xml, and writes<meta-data>tags under<application>for any notification fields you configured. - iOS. Merges
location,fetch, andprocessingintoUIBackgroundModes, and registers the Sentiance background task identifier underBGTaskSchedulerPermittedIdentifiers.
The plugin auto-registers a lifecycle hook on each platform that initializes the SDK asynchronously at app startup, before the JS bundle runs. Init is non-blocking; gate JS code on SentianceCore.ensureInitialized() before calling SDK APIs.
Bare React Native
If you don't use Expo prebuild, this plugin does not run. Wire the SDK manually in MainApplication (Android) or AppDelegate (iOS); see the bare integration guide on the docs site.
Troubleshooting
SentianceCore.ensureInitialized()throws aSdkInitializationErrorwithreason: "NOT_TRIGGERED". The lifecycle hook didn't run. Verify the plugin is listed in yourapp.jsonand that you ran prebuild after adding it.- Foreground notification copy looks wrong on Android. Notification fields are written to
<meta-data>at prebuild time. Edit the plugin options and rebuild.
