Get Real-Time Location Tracking for your apps with MapmyIndia InTouch SDK. Track a user’s live location with our simplified InTouch React native SDK integration, highly customizable to your specific needs.
The InTouch SDK comes with a variety of events that enable better control and power over your tracking needs. Also get location benefits built for various applications including logistics, delivery tracking, employee tracking, and live location sharing.
To get started, explore the InTouch Demo App.
Already have an application which is build on React Native? Give it a boost with the powerful features of InTouch. Learn how to Integrate the InTouch SDK
We use your Client ID to identify your account details and assign all your user’s devices under a single account.
To get your Outh2 Rest API Client ID and Client Secret please login to MapmyIndia API Dashboard
Please contact apisupport@mapmyindia.com to get InTouch SDK access to your Client ID
After getting the access, you can start with the InTouchDemo app, or Integrate the InTouch SDK in your app.
This guide allows you to add live location tracking to your react native app. Visual Studio is the recommended development environment for building an app with the MapmyIndia InTouch React native SDK or you can use any other IDE.
Click here to download the InTouchDemo App Project. Open this project in Visual Studio
Add the Client Id and Client Secret to InputScreen.js file.
Run npm install
Run project on your device using simulator instance using below mentioned command line.
npx react-native run-android
Install the below mentioned library in your project.
npm install mapmyindia-intouch-react-native-sdk --save
react-native link mapmyindia-intouch-react-native-sdk
For Android and Ios add the below mentioned lines
android/build.gradle
file:-allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
+ maven { url 'https://maven.mapmyindia.com/repository/mapmyindia/'}
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
android/app/build.gradle
file:-defaultConfig {
applicationId "com.intouch_react_native_sample"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
+ multiDexEnabled true
}
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Your location is used to personalize content.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Your location is used to personalize content.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location is used to personalize content.</string>
<key>NSMotionUsageDescription</key>
<string>In order to count steps I need an access to your pedometer</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>location</string>
</array>
#import <BeaconSdkFramework/BeaconSdkFramework.h>
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler
{
[Intouch.shared backgroundfetchWithCompletionHandler:completionHandler];
}
Enable background fetch and location updates from Signing and Capabilities
run pod install from ios folder
import MapmyIndiaIntouch from 'mapmyindia-intouch-react-native-sdk';
const status = await MapmyIndiaIntouch.isInitialized();
Initialize the SDK with your Client ID and Client Secret and device name helps to identify the user.
MapmyIndiaIntouch.initialize(deviceName,clientId,clientSecret
(result) => {
if (result === 'success') {
console.log("success")
} else {
//error log
console.log(result)
});
const status = await MapmyIndiaIntouch.isRunning()
Track your app user’s phone live location by using the below method.
MapmyIndiaIntouch.startTracking();
You can start tracking using below three options
MapmyIndiaIntouch.startTracking(MapmyIndiaIntouch.BEACON_PRIORITY_OPTIMAL);
Note: If no priority provided default will be used.
MapmyIndiaIntouch.startTrackingWithCustomConfig(timeWhileMovingInSec,standByTimeInMins);
To stop your app user’s phone live location tracking use the below mentioned method.
MapmyIndiaIntouch.stopTracking();
This method will be called when tracking starts, stops or some tracking error is caught.
MapmyIndiaIntouch.addTrackingStateListener((event) => {
switch(event) {
case 'onTrackingStart':
//Do something on tracking start
break;
case 'onTrackingStop':
//Do something on tracking stop
break;
default:
//Tracking errors
}
});
MapmyIndiaIntouch.removeTrackingStateListener();
Email us at apisupport@mapmyindia.com
Ask a question under the mapmyindia-api
Need support? contact us!
Read about the latest updates & customer stories
Author: MapmyIndia
Source Code: https://github.com/MapmyIndia/mapmyindia-intouch-react-native-sdk
#react-native #react #mobile-apps