85 lines
2.9 KiB
Kotlin
85 lines
2.9 KiB
Kotlin
package com.gh.common.util
|
|
|
|
import android.os.Build
|
|
import android.text.TextUtils
|
|
import com.gh.gamecenter.BuildConfig
|
|
import com.halo.assistant.HaloApp
|
|
import com.lightgame.utils.Util_System_Phone_State
|
|
import com.lightgame.utils.Utils
|
|
import com.tencent.stat.StatService
|
|
import java.util.*
|
|
|
|
object MtaHelper {
|
|
|
|
@JvmStatic
|
|
fun onEvent(eventId: String, vararg kv: String?) {
|
|
val prop = Properties()
|
|
|
|
if (kv.size == 1) {
|
|
prop.setProperty(kv[0], "")
|
|
StatService.trackCustomKVEvent(HaloApp.getInstance().application, eventId, prop)
|
|
}
|
|
|
|
for (i in kv.indices) {
|
|
if (i % 2 != 0) {
|
|
val key = kv[i - 1]
|
|
val value = kv[i]
|
|
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value)) {
|
|
prop.setProperty(key, value)
|
|
}
|
|
}
|
|
}
|
|
|
|
Utils.log("MTA","$eventId + [${kv.joinToString(" , ")}]")
|
|
StatService.trackCustomKVEvent(HaloApp.getInstance().application, eventId, prop)
|
|
}
|
|
|
|
@JvmStatic
|
|
fun onEventWithTime(eventId: String, time: Int, vararg kv: String?) {
|
|
val prop = Properties()
|
|
for (i in kv.indices) {
|
|
if (i % 2 != 0 || i != 0) {
|
|
val key = kv[i - 1]
|
|
val value = kv[i]
|
|
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value)) {
|
|
prop.setProperty(key, value)
|
|
}
|
|
}
|
|
}
|
|
|
|
if (prop.size == 0) return
|
|
Utils.log("MTA","$eventId + [${kv.joinToString(" , ")}] + last $time seconds")
|
|
StatService.trackCustomKVTimeIntervalEvent(HaloApp.getInstance().application, time, eventId, prop)
|
|
}
|
|
|
|
/**
|
|
* 这个方法除了记录传进来的入参还会附带一些基本的设备信息
|
|
*/
|
|
@JvmStatic
|
|
fun onEventWithBasicDeviceInfo(eventId: String, vararg kv: String) {
|
|
val prop = Properties()
|
|
for (i in kv.indices) {
|
|
if (i % 2 != 0) {
|
|
val key = kv[i - 1]
|
|
val value = kv[i]
|
|
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value)) {
|
|
prop.setProperty(key, value)
|
|
}
|
|
}
|
|
}
|
|
|
|
prop.setProperty("光环版本", BuildConfig.VERSION_NAME)
|
|
prop.setProperty("网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().application))
|
|
prop.setProperty("IMEI", Util_System_Phone_State.getDeviceId(HaloApp.getInstance().application))
|
|
prop.setProperty("机型", Build.MODEL)
|
|
prop.setProperty("厂商", Build.MANUFACTURER)
|
|
prop.setProperty("Android版本", Build.VERSION.RELEASE)
|
|
if (!TextUtils.isEmpty(HaloApp.getInstance().gid)) {
|
|
prop.setProperty("GID", HaloApp.getInstance().gid)
|
|
}
|
|
|
|
Utils.log("MTA","$eventId + [${kv.joinToString(" , ")}]")
|
|
StatService.trackCustomKVEvent(HaloApp.getInstance().application, eventId, prop)
|
|
}
|
|
|
|
} |