fat-jaguar-sdk
Getting started
$ npm install fat-jaguar-sdk --save
Mostly automatic installation
$ react-native link fat-jaguar-sdk
For iOS
- Install Pods
$ cd ios
$ pod install
- Setup your .plist file as laid out on this
For Android
- Include Jitpack in your Maven dependencies in
build.gradle
allprojects {
repositories {
...
// ADD IT HERE
maven {
url "https://jitpack.io"
}
}
}
- Make sure Jetify is available in your development environment
$ npx jetify
Usage
import FatJaguarSdk from 'fat-jaguar-sdk';
componentDidMount = async () => {
const channelId = 'fat-jaguar-sdk React Native'
const channelName = 'fat-jaguar-sdk React Native'
const title = 'fat-jaguar-sdk Foreground Service'
const content = "This app is running a foreground service using location services"
FatJaguarSdk.setForegroundNotification(channelId, channelName, title, content, true)
FatJaguarSdk.setCustomEventMetaData({ userId: 'user_id_goes_here' })
FatJaguarSdk.authenticate('your_application_project_id', '<Always|WhileInUse>', () => console.log("On success"), () => console.log("On fail"))
FatJaguarSdk.on('zoneInfoUpdate', (event) => {
})
FatJaguarSdk.on('checkedIntoFence', (event) => {
})
FatJaguarSdk.on('checkedOutFromFence', (event) => {
})
FatJaguarSdk.on('checkedIntoBeacon', (event) => {
})
FatJaguarSdk.on('checkedOutFromBeacon', (event) => {
})
FatJaguarSdk.on('startRequiringUserInterventionForBluetooth', (event) => {
})
FatJaguarSdk.on('stopRequiringUserInterventionForBluetooth', (event) => {
})
FatJaguarSdk.on('startRequiringUserInterventionForLocationServices', (event) => {
})
FatJaguarSdk.on('stopRequiringUserInterventionForLocationServices', (event) => {
})
}
Events
zoneInfoUpdate
{
"zoneInfos": [
{
"ID": "zone-UUID-here",
"name": "Your zone name here"
}
]
}
checkedIntoFence
{
"zoneInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here"
},
"fenceInfo": {
"ID": "fence-UUID-here",
"name": "Your fence name here"
},
"locationInfo": {
"unixDate": "Timestamp of triggering location update",
"latitude": "Latitude of triggering location update",
"longitude": "Longitude of triggering location update",
"bearing": "Bearing of triggering location update (if available)",
"speed": "speed of triggering location update (if available)",
},
"customData": {
"custom-field-name": "Custom zone data field value"
},
"willCheckout": false
}
checkedOutFromFence
{
"zoneInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here"
},
"fenceInfo": {
"ID": "fence-UUID-here",
"name": "Your fence name here"
},
"customData": {
"custom-field-name": "Custom zone data field value"
},
"dwellTime": 5
}
checkedIntoBeacon
{
"zoneInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here"
},
"beaconInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here",
"macAddress": "AA:BB:CC:DD:EE:FF",
"proximityUuid": "beacon-UUID-here",
"major": 1,
"minor": 2,
"latitude": "Latitude of beacon",
"longitude": "Longitude of beacon",
},
"locationInfo": {
"unixDate": "Timestamp of triggering location update",
"latitude": "Latitude of triggering location update",
"longitude": "Longitude of triggering location update",
"bearing": "Bearing of triggering location update (if available)",
"speed": "speed of triggering location update (if available)",
},
"customData": {
"custom-field-name": "Custom zone data field value"
},
"willCheckout": false
}
checkedOutFromBeacon
{
"zoneInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here"
},
"beaconInfo": {
"ID": "zone-UUID-here",
"name": "Your zone name here",
"macAddress": "AA:BB:CC:DD:EE:FF",
"proximityUuid": "beacon-UUID-here",
"major": 1,
"minor": 2,
"latitude": "Latitude of beacon",
"longitude": "Longitude of beacon",
},
"locationInfo": {
"unixDate": "Timestamp of triggering location update",
"latitude": "Latitude of triggering location update",
"longitude": "Longitude of triggering location update",
"bearing": "Bearing of triggering location update (if available)",
"speed": "speed of triggering location update (if available)",
},
"customData": {
"custom-field-name": "Custom zone data field value"
},
"dwellTime": 5
}
startRequiringUserInterventionForBluetooth
{}
stopRequiringUserInterventionForBluetooth
{}
startRequiringUserInterventionForLocationServices
{
"authorizationStatus": "denied"
}
stopRequiringUserInterventionForLocationServices
{
"authorizationStatus": "denied"
}