package Ġorg . dh is 2 . utils . analytics . mat omo Ċ Ċ import Ġorg . mat omo . sdk . Mat omo Ċ import Ġorg . mat omo . sdk . Tracker Ċ import Ġorg . mat omo . sdk . extra . Download Tracker . Extra . A pk Checksum Ċ import Ġorg . mat omo . sdk . extra . Track Helper Ċ Ċ class ĠM atom o Analytics Controller Impl ( ĊĠĠĠ Ġval Ġmat omo Instance : ĠM atom o , ĊĠĠĠ Ġval Ġapk Checksum : ĠA pk Checksum , ĊĠĠĠ Ġvar Ġmat omo Tracker : ĠTracker ? Ġ= ĠTracker Controller . dh is 2 Internal Tracker ( mat omo Instance ), ĊĠĠĠ Ġvar Ġd his Implementation Tracker : ĠTracker ? Ġ= Ġnull Ċ ) Ġ: ĠM atom o Analytics Controller Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġset UserId ( identification : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . userId Ġ= Ġidentification ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . userId Ġ= Ġidentification ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Event ( category : ĠString , Ġaction : ĠString , Ġlabel : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). event ( category , Ġaction ). name ( label ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). event ( category , Ġaction ). name ( label ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Event With Dimension ( ĊĠĠĠĠĠĠĠ Ġcategory : ĠString , ĊĠĠĠĠĠĠĠ Ġaction : ĠString , ĊĠĠĠĠĠĠĠ Ġlabel : ĠString , ĊĠĠĠĠĠĠĠ Ġindex : ĠInt , ĊĠĠĠĠĠĠĠ Ġdimension Value : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). dimension ( index , Ġdimension Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. event ( category , Ġaction ). name ( label ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). dimension ( index , Ġdimension Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. event ( category , Ġaction ). name ( label ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Screen View ( screen : ĠString , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Screen View With Dimension ( ĊĠĠĠĠĠĠĠ Ġscreen : ĠString , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġindex : ĠInt , ĊĠĠĠĠĠĠĠ Ġdimension Value : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dimension ( index , Ġdimension Value ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dimension ( index , Ġdimension Value ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Screen View With Dimensions As Separ ate Events ( ĊĠĠĠĠĠĠĠ Ġscreen : ĠString , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġdimensions : ĠMap < Int , ĠString > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimensions . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). dimension ( key , Ġvalue ). with ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimensions . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). dimension ( key , Ġvalue ). with ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Screen View With Two Dimensions As Same Event ( ĊĠĠĠĠĠĠĠ Ġscreen : ĠString , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġfirst Index : ĠInt , ĊĠĠĠĠĠĠĠ Ġfirst Value : ĠString , ĊĠĠĠĠĠĠĠ Ġsecond Index : ĠInt , ĊĠĠĠĠĠĠĠ Ġsecond Value : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). dimension ( first Index , Ġfirst Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dimension ( second Index , Ġsecond Value ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). screen ( screen ). title ( title ). dimension ( first Index , Ġfirst Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dimension ( second Index , Ġsecond Value ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Exception ( exception : ĠThrowable , Ġdescription : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). exception ( exception ). description ( description ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). exception ( exception ). description ( description ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Default Tracker () Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker Ġ= ĠTracker Controller . dh is 2 Internal Tracker ( mat omo Instance ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate D his Implementation Tracker ( ĊĠĠĠĠĠĠĠ Ġmat omo Url : ĠString , ĊĠĠĠĠĠĠĠ Ġsite Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġtracker Name : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker Ġ= ĠTracker Controller . dh is 2 External Tracker ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmat omo Instance , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmat omo Url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsite Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtracker Name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrack Download () Ġ{ ĊĠĠĠĠĠĠĠ Ġmat omo Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). download (). identifier ( apk Checksum ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack Helper . track (). download (). identifier ( apk Checksum ). with ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear D his Implementation () Ġ{ ĊĠĠĠĠĠĠĠ Ġd his Implementation Tracker Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ