Google Analytics
Google Analytics is an analytics product. You can track Rover events into it using the following sample integration. You may need to customize it to get the best value out of the tool.
Tracking Screen Views
After integrating both the Rover and Google Analytics SDKs into your project, your goal will be to send the Rover events to Google Analytics as suitable GA events.
Rover.shared?.eventEmitter?.addEventListener(object : RoverEventListener {
override fun onScreenPresented(event: RoverEvent.ScreenPresented) {
super.onScreenPresented(event)
val experienceName = event.experience.name
val screenName = event.screen.name
val tracker = application.getDefaultTracker()
tracker.setScreenName("Rover / $experienceName / $screenName")
val builder = HitBuilders.ScreenViewBuilder()
tracker.send(builder.build())
}
})
Additional Events
Rover Block Tapped
Rover.shared?.eventEmitter?.addEventListener(object : RoverEventListener {
override fun onBlockTapped(event: RoverEvent.BlockTapped) {
super.onBlockTapped(event)
val tracker = application.getDefaultTracker()
val builder = HitBuilders.EventBuilder()
.setCategory("Rover Block")
.setAction("Tapped")
.setLabel(event.block.name)
tracker.send(builder.build())
}
})
Rover Poll Answered
Rover.shared?.eventEmitter?.addEventListener(object : RoverEventListener {
override fun onPollAnswered(event: RoverEvent.PollAnswered) {
super.onPollAnswered(event)
val tracker = application.getDefaultTracker()
val builder = HitBuilders.EventBuilder()
.setCategory("Rover Poll")
.setAction("Answered")
.setLabel(event.option.text)
tracker.send(builder.build())
}
})
Custom Dimensions
If you wish to track additional information from Rover into Google Analytics, you may do so using Custom Dimensions.
You must manually create the Custom Dimensions in your Google Analytics settings web interface before you continue.
Then, using the indices you assigned to the Rover properties of interest, you will pass the matching index and property value to the .setCustomDimension()
function on the EventBuilder
or ScreenViewBuilder
depending on the type of event being tracked.
The following are code snippets you may use within the above examples for tracking the Screen View, Block Tapped, and Poll Tapped events respectively.
NB. For the purposes of illustration, we have numbered them from Custom Dimension index #1, but in your setup they may well be different.
For Screen Viewed:
builder.setCustomDimension(1, event.experience.id)
builder.setCustomDimension(2, event.experience.name)
builder.setCustomDimension(3, event.screen.id)
builder.setCustomDimension(4, event.screen.name)
And you may include the following additional for “Rover Block Tapped”:
builder.setCustomDimension(5, event.block.id)
builder.setCustomDimension(6, event.block.name)
And finally, you may include the following for “Rover Poll Answered”:
builder.setCustomDimension(7, event.option.id)