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_DISTRACTION
SAFETY
ACCELERATION
BRAKE
ADHERENCE
SPEEDING
CALL
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
Fragment
val fragment = DriverAchievementUI.createStreakListFragment()
By launching an Activity
Activity
DriverAchievementUI.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:
GENERIC
SAFETY
ECO_DRIVING
PHONE_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
Fragment
supportFragmentManager
.beginTransaction()
.replace(R.id.yourContainer, BadgesListFragment())
.commit()
By launching an Activity
Activity
val 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.SAFETY
RankingType.ECO_DRIVING
RankingType.DISTRACTION
RankingType.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)
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
Fragment
RankingFragment.newInstance()
By launching an Activity
Activity
RankingActivity.launchActivity(context)
Last updated
Was this helpful?