Analytics: add capture API
This commit is contained in:
parent
b33cddf0e3
commit
5c5a547aeb
@ -58,4 +58,9 @@ interface VectorAnalytics {
|
|||||||
* To be called when application is started
|
* To be called when application is started
|
||||||
*/
|
*/
|
||||||
fun init()
|
fun init()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Capture an Event
|
||||||
|
*/
|
||||||
|
fun capture(event: String, properties: Map<String, Any>? = null)
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ package im.vector.app.features.analytics.impl
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.posthog.android.PostHog
|
import com.posthog.android.PostHog
|
||||||
|
import com.posthog.android.Properties
|
||||||
import im.vector.app.features.analytics.AnalyticsConfig
|
import im.vector.app.features.analytics.AnalyticsConfig
|
||||||
import im.vector.app.features.analytics.VectorAnalytics
|
import im.vector.app.features.analytics.VectorAnalytics
|
||||||
import im.vector.app.features.analytics.store.AnalyticsStore
|
import im.vector.app.features.analytics.store.AnalyticsStore
|
||||||
@ -60,6 +61,8 @@ class DefaultVectorAnalytics @Inject constructor(
|
|||||||
override suspend fun onSignOut() {
|
override suspend fun onSignOut() {
|
||||||
// reset the analyticsId
|
// reset the analyticsId
|
||||||
setAnalyticsId("")
|
setAnalyticsId("")
|
||||||
|
// reset the library
|
||||||
|
posthog?.reset()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun init() {
|
override fun init() {
|
||||||
@ -86,4 +89,15 @@ class DefaultVectorAnalytics @Inject constructor(
|
|||||||
.collectDeviceId(false)
|
.collectDeviceId(false)
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun capture(event: String, properties: Map<String, Any>?) {
|
||||||
|
posthog?.capture(
|
||||||
|
event,
|
||||||
|
properties?.let { props ->
|
||||||
|
Properties().apply {
|
||||||
|
props.forEach { putValue(it.key, it.value) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user