telematicsSDK-demoapp-flutter-
telematicsSDK-demoapp-flutter- copied to clipboard
Demo telematics app for Flutter. The application walks you through the telematics SDK integration. The technology is suitable for UBI (Usage-based insurance), shared mobility, transportation, safe dri...
Telematics SDK
A flutter plugin for tracking the person's driving behavior such as speeding, turning, braking and several other things on iOS and Android.
Disclaimer: This project uses Telematics SDK which belongs to DAMOOV PTE. LTD.
When using Telematics SDK refer to these terms of use
Getting Started
Initial app setup & credentials
For commercial use, you need create a developer workspace in DataHub and get InstanceId
and InstanceKey
auth keys to work with our API.
Android
AndroidManifest.xml
add to file ./app/src/main/AndroidManifest.xml props:
- 'xmlns:tools="http://schemas.android.com/tools"' into manifest tag
- 'tools:replace="android:label"' into __application tag
as shown below:
<manifest
xmlns:tools="http://schemas.android.com/tools">
<application
tools:replace="android:label">
...
</application>
...
</manifest>
add network permissions
<manifest>
...
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
...
Proguard
-keep public class com.raxeltelematics.** {*;}
Android Advanced
SetTrackingSettings
-
Override application class extends TelematicsSDKApp
import com.telematicssdk.TelematicsSDKApp class App: TelematicsSDKApp() { //... }
-
add to tag application of file ./app/src/main/AndroidManifest.xml this class name:
<application android:name=".App"> ... </application>
-
add Telematics SDK repository into (module)/gradle.build
dependencies { //... implementation "com.telematicssdk:tracking:2.2.260" }
iOS
Add permissions in your project's ios/Runner/Info.plist
:
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array>
<key>NSMotionUsageDescription</key>
<string>Please, provide permissions for this Demo</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Please, provide permissions for this Demo</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Please, provide permissions for this Demo</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Please, provide permissions for this Demo</string>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>sdk.damoov.apprefreshtaskid</string>
<string>sdk.damoov.appprocessingtaskid</string>
</array>
Starting from iOS version 15 and above, as well as Flutter 2.0.6, modification of ios/Runner/AppDelegate.swift
is required
You must request permissions for the application before GeneratedPluginRegistrant
Example AppDelegate.swift