iOS

Get the framework

The Driver Achievement UI SDK is available on Cocoapods master repo.

To access the framework in the repository, add the following lines to your Podfile:

target 'my-target' do
 pod 'DriveKitDriverAchievementUI'
end

Then, run pod install.

On this Github repository, you also have a demo app and source code of Driver Achievement UI that you can use as an example.

Initialize

If you have disabled the SDK auto-initialization, the Driver Achievement UI module must also be manually initialized. In the application's AppDelegate file, import DriveKitDriverAchievementUI.

import DriveKitDriverAchievementUI

Then, to initialize the Driver Achievement UI SDK in your app, you must call the initialization method in didFinishLaunchingWithOptions method of your AppDelegate.

import DriveKitCore
import DriveKitCommonUI
import DriveKitDriverAchievementUI

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
   DriveKit.shared.initialize()
   DriveKitUI.shared.initialize()
   DriveKitDriverAchievementUI.shared.initialize()
   ...   
}

Override colors and texts

To override colors and texts in the Driver Achievement UI SDK, see Common UI configuration.

Select Streak themes

You can choose which streak theme you want to display in which order by calling the following method:

DriveKitDriverAchievementUI.shared.configureStreakThemes(streakThemes: [StreakDataType])

Accepted values:

  • .phoneDistraction

  • .safety

  • .acceleration

  • .brake

  • .adherence

  • .speedLimits

  • .call

Default value:

[.phoneDistraction, .safety, .acceleration, .brake, .adherence, .call]

For speedLimits streaks, make sure that the service is activated on your DriveQuant account.

Display streak list interface

To get the streak list view controller, you can call the following method:

DriveKitDriverAchievementUI.shared.getStreakViewController()

Select Badges categories

You can choose which badge category you want to display in which order by calling the following method:

DriverAchievementUI.shared.configureBadgeCategories(badgeCategories: [DKBadgeCatergory])

Accepted values:

  • .generic

  • .ecodriving

  • .safety

  • .phoneDistraction

Default value:

[.generic, .ecodriving, .safety, .phoneDistraction]

Badges belonging to the generic category (.generic) are always displayed. It is not possible to hide these badges.

Display Badge list interface

To show the badges list view controller, you can use the following method:

DriveKitDriverAchievementUI.shared.getBadgesViewController()

Select ranking themes

By calling the following method, you can choose which ranking types you want to display:

DriveKitDriverAchievementUI.shared.configureRankingTypes([DKRankingType])

Accepted values:

  • .ecodriving

  • .safety

  • .distraction

  • .speeding

Default value:

[.safety, .ecoDriving, .distraction]

Set ranking selectors

This method allows you to change the displayed periods of ranking:

DriveKitDriverAchievementUI.shared.configureRankingSelector(DKRankingSelectorType)

Accepted values:

  • .none

  • .period

Default value:.period(rankingPeriods: [.weekly, .monthly, .allTime])

If the DKRankingSelectorType ".none" is selected, the period “weekly” will be taken into consideration for rankings.

Configure ranking depth

This method allows you to choose the ranking depth you want to display:

DriveKitDriverAchievementUI.shared.configureRankingDepth(Int)

Default value: 5

Accepted values: from 5 to 20

Display Ranking interface

To display the ranking view controller, you can call the following method:

DriveKitDriverAchievementUI.shared.getRankingViewController()

Last updated