Quick start
In this part, we will take you through the required basic steps to detect your first trips using DriveKit.
Last updated
Was this helpful?
In this part, we will take you through the required basic steps to detect your first trips using DriveKit.
Last updated
Was this helpful?
To complete this quickstart, make sure that your development environment meets the following requirements:
Xcode (latest version)
An iPhone device, running on iOS 13.0+
A DriveKit API key. If you don't have an API key, please contact .
Follow the steps described below in your app in order to quickly integrate the DriveKit SDK:
The DriveKit SDK is available on CocoaPods public repository.
To add TripAnalysis module, add the following line to your Podfile:
then run pod install
By adding the TripAnalysis module, it will also add the DriveKit Core module and automatically initialize the DriveKit SDK.
In some cases you may want to manually initialize the SDK. To do this you have to disable the automatic initialization. Learn more in the part.
Go to the Capabilities tab of your target settings.
Turn on Background Modes
Enable Location updates (to be able to receive location updates in the background)
As DriveKit requires a user's location and motion data, it is required to get permissions from the user.
When the application requests permission for background locations or motion activities, usage description messages will be shown to the user.
Since DriveKit imports CoreBluetooth framework, we strongly recommend you to also include Bluetooth usage description message.
You must configure these messages by adding the following lines in the Info.plist
file:
Once you've stored your API key in a secure way in your app, configure DriveKit by calling the following method:
Each driver must be identified with a unique identifier. Once you have this identifier and you are ready to analyze trips, configure DriveKit by calling the following method:
You can call setApiKey
and setUserId
methods anywhere in the code. DriveKit will save the value locally. If the app is killed and relaunched, DriveKit will be reconfigured automatically.
DriveKit SDK will not work until you set the API key and the userId.
The automatic mode detects vehicle movements and triggers the trip analysis without driver intervention while the application is in background. The analysis is stopped automatically at the end of the trip.
This feature is recommended to avoid driver distraction and phone handling while driving. The automatic mode has been optimised to limit the battery drain.
By default, automatic trip detection is disabled, but you can enable it by calling the following method with the enable
parameter to true
:
To display a simple and intuitive onboarding for the user to grant these runtime permissions, add the dependency for the PermissionUtils graphical module in your Podfile:
then run pod install
The method below helps you to configure the required permission requests and the order in which they are displayed. You will be notified when the requested permissions are successfully granted:
Congratulations! You now have an app that will automatically detect every trip you will make.
Once your first trips are recorded, fine-tune the DriveKit SDK configuration to fit your needs:
Enable Background fetch (to periodically check for changes related to the status of authorizations, sensors, as well as user disconnection. See more info )
These values can be localized (see our for example).
DriveKit periodically checks for changes related to the status of authorizations, sensors as well as user disconnection. This information is included in the diagnostic log file and shared with the DriveQuant platform.
To be more accurate, this feature needs to have and a background task id declared in your Info.plist
file.
You must add the following line in Info.plist
file:
We recommend never using an email address or phone number to define the unique user ID. It is recommended that you set up a unique, universal and anonymous user ID. For example, you can generate a globally unique identifier () for each of your users.
Configure the and modules with advanced settings. For example, , activate the , etc.
Display trip-related data: provide a trip list, a timeline of driverโs score, present the user's driving habits, etc. by integrating the module.
Associate each trip to a vehicle that you can configure with the module.
Improve user retention by organizing , display with the community, show which the driver earned, etc.