AnalyticsService

AnalyticsService

interface AnalyticsService

The base interface for the analytics. This will log events to any remote analytics provider.

Methods

setEventObserver

abstract fun setEventObserver(eventObserver: (String, JSONObject)->Unit)

Set an analytics event observer . It will intercept analytics events.

Parameters

Name Description
eventObserver: (String, JSONObject)->Unit

ReturnValue

Name Description
Unit

registerSuperProperty

abstract fun registerSuperProperty(analyticsSuperProperties: AnalyticsSuperProperties, value: Any?)

Parameters

Name Description
analyticsSuperProperties: AnalyticsSuperProperties
value: Any?

ReturnValue

Name Description
Unit

registerSuperAndPeopleProperty

abstract fun registerSuperAndPeopleProperty(event: Pair<String, String>)

Parameters

Name Description
event: Pair<String, String>

ReturnValue

Name Description
Unit

trackConfiguration

abstract fun trackConfiguration(internalAppName: String)

Parameters

Name Description
internalAppName: String

ReturnValue

Name Description
Unit

trackWidgetInteraction

abstract fun trackWidgetInteraction(kind: String, id: String, interactionInfo: AnalyticsWidgetInteractionInfo)

Parameters

Name Description
kind: String
id: String
interactionInfo: AnalyticsWidgetInteractionInfo

ReturnValue

Name Description
Unit

trackSessionStarted

abstract fun trackSessionStarted()

ReturnValue

Name Description
Unit

trackMessageSent

abstract fun trackMessageSent(msgId: String, msg: String?, hasExternalImage: Boolean, chatRoomId: String)

Parameters

Name Description
msgId: String
msg: String?
hasExternalImage: Boolean
chatRoomId: String

ReturnValue

Name Description
Unit

trackMessageDisplayed

abstract fun trackMessageDisplayed(msgId: String, msg: String?, hasExternalImage: Boolean)

Parameters

Name Description
msgId: String
msg: String?
hasExternalImage: Boolean

ReturnValue

Name Description
Unit

trackLastChatStatus

abstract fun trackLastChatStatus(status: Boolean)

Parameters

Name Description
status: Boolean

ReturnValue

Name Description
Unit

trackLastWidgetStatus

abstract fun trackLastWidgetStatus(status: Boolean)

Parameters

Name Description
status: Boolean

ReturnValue

Name Description
Unit

trackWidgetReceived

abstract fun trackWidgetReceived(kind: String, id: String)

Parameters

Name Description
kind: String
id: String

ReturnValue

Name Description
Unit

trackWidgetDisplayed

abstract fun trackWidgetDisplayed(kind: String, id: String, linkUrl: String?)

Parameters

Name Description
kind: String
id: String
linkUrl: String?

ReturnValue

Name Description
Unit

trackWidgetDismiss

abstract fun trackWidgetDismiss(kind: String, id: String, interactionInfo: AnalyticsWidgetInteractionInfo, interactable: Boolean?, action: DismissAction)

Parameters

Name Description
kind: String
id: String
interactionInfo: AnalyticsWidgetInteractionInfo
interactable: Boolean?
action: DismissAction

ReturnValue

Name Description
Unit

trackInteraction

abstract fun trackInteraction(kind: String, id: String, interactionType: String, interactionCount: Int)

Parameters

Name Description
kind: String
id: String
interactionType: String
interactionCount: Int

ReturnValue

Name Description
Unit

trackOrientationChange

abstract fun trackOrientationChange(isPortrait: Boolean)

Parameters

Name Description
isPortrait: Boolean

ReturnValue

Name Description
Unit

trackSession

abstract fun trackSession(sessionId: String)

Parameters

Name Description
sessionId: String

ReturnValue

Name Description
Unit

trackButtonTap

abstract fun trackButtonTap(buttonName: String, extra: JsonObject)

Parameters

Name Description
buttonName: String
extra: JsonObject

ReturnValue

Name Description
Unit

trackUsername

abstract fun trackUsername(username: String)

Parameters

Name Description
username: String

ReturnValue

Name Description
Unit

trackKeyboardOpen

abstract fun trackKeyboardOpen(keyboardType: KeyboardType)

Parameters

Name Description
keyboardType: KeyboardType

ReturnValue

Name Description
Unit

trackKeyboardClose

abstract fun trackKeyboardClose(keyboardType: KeyboardType, hideMethod: KeyboardHideReason, chatMessageId: String?)

Parameters

Name Description
keyboardType: KeyboardType
hideMethod: KeyboardHideReason
chatMessageId: String?

ReturnValue

Name Description
Unit

trackFlagButtonPressed

abstract fun trackFlagButtonPressed()

ReturnValue

Name Description
Unit

trackReportingMessage

abstract fun trackReportingMessage()

ReturnValue

Name Description
Unit

trackBlockingUser

abstract fun trackBlockingUser()

ReturnValue

Name Description
Unit

trackCancelFlagUi

abstract fun trackCancelFlagUi()

ReturnValue

Name Description
Unit

trackPointTutorialSeen

abstract fun trackPointTutorialSeen(completionType: String, secondsSinceStart: Long)

Parameters

Name Description
completionType: String
secondsSinceStart: Long

ReturnValue

Name Description
Unit

trackPointThisProgram

abstract fun trackPointThisProgram(points: Int)

Parameters

Name Description
points: Int

ReturnValue

Name Description
Unit

trackBadgeCollectedButtonPressed

abstract fun trackBadgeCollectedButtonPressed(badgeId: String, badgeLevel: Int)

Parameters

Name Description
badgeId: String
badgeLevel: Int

ReturnValue

Name Description
Unit

trackChatReactionPanelOpen

abstract fun trackChatReactionPanelOpen(messageId: String)

Parameters

Name Description
messageId: String

ReturnValue

Name Description
Unit

trackAlertLinkOpened

abstract fun trackAlertLinkOpened(alertId: String, programId: String, linkUrl: String, widgetType: WidgetType?)

Parameters

Name Description
alertId: String
programId: String
linkUrl: String
widgetType: WidgetType?

ReturnValue

Name Description
Unit

trackChatReactionSelected

abstract fun trackChatReactionSelected(chatRoomId: String, messageId: String, reactionId: String, isRemoved: Boolean)

Parameters

Name Description
chatRoomId: String
messageId: String
reactionId: String
isRemoved: Boolean

ReturnValue

Name Description
Unit