iOS

Integration

The Trip Simulator component includes two modules:

  • The first module is used as a testing tool for your debug application.

  • The second module is a β€œno-op” module. It will do nothing and does not include any trip data: it’s an empty implementation that mirrors the public methods and objects of the first module which can be integrated into your release-mode application to maintain a consistent codebase across both debug and release modes without embedding the real trip simulator in production.

To add the Trip Simulator module to your app, add the following lines to your dependencies in your Podfile, with the no-op module in release mode if you need it:

pod 'DriveKitTripSimulator', :configuration => ['Debug']
pod 'DriveKitTripSimulatorNoop', :configuration => ['Release']

Usage

DriveQuant offers the possibility of running simulations from a list of preset trips. After integrating and activating the trip simulation component, you can select a preset trip from those described in the table below. Once the simulation is launched, the Trip Analysis SDK will receive the configured callbacks automatically.

Name

Duration

Distance

Description

shortTrip

8 min

2 km

Trip too short that does not allow to rate the driver's behavior

mixedTrip

15 min

12 km

A 15-minute mixed trip in urban and suburban areas

cityTrip

20 min

8 km

A 20-minute city trip

suburbanTrip

30 min

30 km

A 30-minute trip performed in a suburban environment mostly

highwayTrip

55 min

100 km

A 55-minute highway trip

trainTrip

10 min

5 km

Trip recorded in a train to test the alternative transportation modes detection

busTrip

13 min

3 km

Trip recorded in a bus to test the alternative transportation modes detection

boatTrip

40 min

25 km

Trip recorded in a boat to test the alternative transportation modes detection

tripWithCrash

5 min

1 km

A trip to simulate an unconfirmed or a confirmed crash.

tripWithCrashStillDriving

23 min

24 km

A trip to simulate an accident confirmed less than two minutes after the start of the trip, after which the driver continued driving.

Check if it’s the no-op module

To verify if you are embedding the no-op module, you can call the following code:

let isNoop = DriveKitTripSimulator.shared.isNoop

Simulate a trip

To simulate a trip, you just need to send the selected trip to the start method:

import DriveKitTripSimulatorModule

DriveKitTripSimulator.shared.start(<The_PresetTrip_you_want>)

Stop the simulation

To stop the simulation of a trip, you need to call the stop method:

import DriveKitTripSimulatorModule

DriveKitTripSimulator.shared.stop()

Simulate a crash during a trip

In order to mock a crash to check your integration, you must call the startCrashTrip function with a PresetCrashConfiguration item as parameter. Possible values for PresetCrashConfiguration enumeration are described in the table below:

Name
Description

confirmed30KmH

A short trip with a collision at 30 km/h that occurs 137 seconds after the trip begins and that corresponds to a confirmed accident.

confirmed20KmH

A short trip with a collision at 20 km/h that occurs 141 seconds after the trip begins and that corresponds to a confirmed accident.

confirmed10KmH

A short trip with a collision at 10 km/h that occurs 146 seconds after the trip begins and that corresponds to a confirmed accident.

unconfirmed0KmH

A short trip with a collision during a vehicle stop that occurs 159 seconds after the trip begins and that corresponds to an unconfirmed accident.

confirmed30KmHStillDriving

A trip to with a collision at 30km/h that occures 95 seconds after the trip begins and that corresponds to a confirmed accident, after which the driver continue driving.

DriveKitTripSimulator.shared.startCrashTrip(.confirmed20KmH)

Last updated

Was this helpful?