Android
Get the module
To add the Driver Achievement UI module to your app, add the following lines to your dependencies in your application build.gradle file:
dependencies {
implementation 'com.drivequant.drivekit:drivekit-driver-achievement-ui:$drivekitui_version'
}On a 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.
Then, to initialize the module in your app, you must call the initialization method in onCreate method of your Application class:
fun 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:
fun configureStreakThemes(streakThemes: List<StreakTheme>)Accepted values:
PHONE_DISTRACTIONSAFETYACCELERATIONBRAKEADHERENCESPEEDINGCALL
Default value:
listOf(PHONE_DISTRACTION, SAFETY, ACCELERATION, BRAKE, ADHERENCE, CALL)
For SPEEDING streaks, make sure that the service is activated on your DriveQuant account.
Display streak list interface
To display the streak list UI, you can call the following methods:
By creating a Fragment
Fragmentval fragment = DriverAchievementUI.createStreakListFragment()By launching an Activity
ActivityDriverAchievementUI.startRankingActivity(context)Select Badges categories
You can choose which badge category you want to display in which order, by calling the following method:
fun configureBadgeCategories(badgeCategories: MutableList<BadgeCategory>)Accepted values:
GENERICSAFETYECO_DRIVINGPHONE_DISTRACTION
Default value:
listOf(GENERIC, PHONE_DISTRACTION, SAFETY, ECO_DRIVING)
Display Badge list interface
To show the badge UI you can use these following methods:
By creating a Fragment
FragmentsupportFragmentManager
.beginTransaction()
.replace(R.id.yourContainer, BadgesListFragment())
.commit()By launching an Activity
Activityval intent = Intent(context, BadgeListActivity::class.java)
context.startActivity(intent)Select ranking themes
By calling the following method, you can choose which rank type you want to display:
fun configureRankingTypes(rankingTypes: List<RankingType>)Accepted values:
RankingType.SAFETYRankingType.ECO_DRIVINGRankingType.DISTRACTIONRankingType.SPEEDING
Default values [RankingType.SAFETY, RankingType.ECO_DRIVING, RankingType.DISTRACTION]
Set ranking selectors
You can have many periods displayed on the ranking screen. This way, the user can see his ranking on many periods. The following method allows you to selected the order of the displayed periods:
fun configureRankingSelector(rankingSelector: RankingSelectorType)Accepted values :
RankingPeriod.WEEKLY,RankingPeriod.MONTHLY,RankingPeriod.ALL_TIME
Default value: [RankingPeriod.WEEKLY, RankingPeriod.MONTHLY, RankingPeriod.ALL_TIME]
If you don’t need any kind of selectors you can use the following code:
val rankingSelectorType = RankingSelectorType.NONE
DriverAchievementUI.configureRankingSelector(rankingSelectorType)Configure ranking depth
This method allows you to choose the ranking depth you want to display:
fun configureRankingDepth(rankingDepth: Int)int rankingDepthValue = 20;
DriverAchievementUI.INSTANCE.configureRankingDepth(rankingDepthValue);Accepted values: from 5 to 20
Default value: 5
Display Ranking interface
To display the ranking interface, you can call the following methods:
By creating a Fragment
FragmentRankingFragment.newInstance()By launching an Activity
ActivityRankingActivity.launchActivity(context)Last updated
Was this helpful?

