Meshtastic-Android/app/src/google/java/com/geeksville/mesh/analytics/AnalyticsClient.kt
2023-01-19 11:24:42 -03:00

49 lines
1.1 KiB
Kotlin

package com.geeksville.mesh.analytics
import com.google.firebase.analytics.FirebaseAnalytics
/**
* Created by kevinh on 12/24/14.
*/
class DataPair(val name: String, valueIn: Any?) {
val value = valueIn ?: "null"
/// An accumulating firebase event - only one allowed per event
constructor(d: Double) : this(FirebaseAnalytics.Param.VALUE, d)
constructor(d: Int) : this(FirebaseAnalytics.Param.VALUE, d)
}
public interface AnalyticsProvider {
// Turn analytics logging on/off
fun setEnabled(on: Boolean)
/**
* Store an event
*/
fun track(event: String, vararg properties: DataPair): Unit
/**
* Only track this event if using a cheap provider (like google)
*/
fun trackLowValue(event: String, vararg properties: DataPair): Unit
fun endSession(): Unit
fun startSession(): Unit
/**
* Set persistent ID info about this user, as a key value pair
*/
fun setUserInfo(vararg p: DataPair)
/**
* Increment some sort of anyalytics counter
*/
fun increment(name: String, amount: Double = 1.0)
fun sendScreenView(name: String)
fun endScreenView()
}