[fea]
埋点参数变更
This commit is contained in:
yakunyang
2024-06-12 16:39:58 +08:00
parent 507e6ae642
commit b4805e2fb8
3 changed files with 55 additions and 35 deletions

View File

@@ -1,17 +1,17 @@
package com.mogo.och.common.module.manager.autopilot.autopilot
import android.text.TextUtils
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.utils.RxUtils
import io.reactivex.disposables.Disposable
@@ -19,11 +19,7 @@ abstract class OchAutopilotAnalytics {
companion object{
private const val EVENT_PARAM_AUTOPILOTANALYTICS_GROUP = "start_autopilot_group"
private const val EVENT_PARAM_SN = "sn"
private const val EVENT_PARAM_PLATE_NUM = "plate_number" // 车牌号
private const val EVENT_PARAM_ENV_ONLINE = "env_online" // 是否线上环境true/false
private const val EVENT_PARAM_TIME = "time"
private const val EVENT_PARAM_ACCURATE_TIME = "time_accurate"
private const val EVENT_PARAM_START_SUCCESS_TIME = "time_success"
private const val EVENT_PARAM_START_FAIL_TIME = "time_fail"
private const val EVENT_PARAM_CLICK_TIME = "time_click"
@@ -47,26 +43,20 @@ abstract class OchAutopilotAnalytics {
fun triggerStartAutopilotParameters(controlParameters: AutopilotControlParameters?){
val plateNum = AppConfigInfo.plateNumber
val params = HashMap<String, Any>()
params[EVENT_PARAM_SN] = SharedPrefsMgr.getInstance().sn
params[EVENT_PARAM_PLATE_NUM] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE
params[EVENT_PARAM_TIME] = DateTimeUtils.getTimeText(System.currentTimeMillis(),DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
params[EVENT_PARAM_START_AUTOPILOT_PARAMETERS] = "${controlParameters.toString()}_${controlParameters?.autoPilotLine}_routeID:${controlParameters?.routeID}_routeName:${controlParameters?.routeName}"
params[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(params)
MogoAnalyticUtils.track(EVENT_KEY_START_AUTOPILOT_PARAMETERS, params)
}
fun triggerStartAutopilotParametersAck(data:String,isSuccess:Boolean){
val plateNum = AppConfigInfo.plateNumber
val params = HashMap<String, Any>()
params[EVENT_PARAM_SN] = SharedPrefsMgr.getInstance().sn
params[EVENT_PARAM_PLATE_NUM] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE
params[EVENT_PARAM_TIME] = DateTimeUtils.getTimeText(System.currentTimeMillis(),DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
params[EVENT_PARAM_START_AUTOPILOT_ACK] = data
params[EVENT_PARAM_START_AUTOPILOT_ACK_SUCCESS] = isSuccess
params[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(params)
MogoAnalyticUtils.track(EVENT_KEY_START_AUTOPILOT_ACK, params)
}
}
@@ -102,6 +92,7 @@ abstract class OchAutopilotAnalytics {
mStartAutopilotParams[EVENT_PARAM_START_FAIL_TIME] = DateTimeUtils.getTimeText(startFailDate,DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
mStartAutopilotParams[EVENT_PARAM_START_RESULT] = CallerAutoPilotStatusListenerManager.getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING
mStartAutopilotParams[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(mStartAutopilotParams)
MogoAnalyticUtils.track(mStartAutopilotKey, mStartAutopilotParams)
clearStartAutopilotParams() //清空参数数据,防止误传
}
@@ -132,15 +123,11 @@ abstract class OchAutopilotAnalytics {
// 自动驾驶状态变更时间
mStartAutopilotParams[EVENT_PARAM_START_SUCCESS_TIME] = DateTimeUtils.getTimeText(triggerDate,DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
mStartAutopilotParams[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(mStartAutopilotParams)
MogoAnalyticUtils.track(mStartAutopilotKey, mStartAutopilotParams)
clearStartAutopilotParams() //清空参数数据,防止误传
} else {
val plateNum = AppConfigInfo.plateNumber
mStartAutopilotParams[EVENT_PARAM_SN] = SharedPrefsMgr.getInstance().sn
mStartAutopilotParams[EVENT_PARAM_PLATE_NUM] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
mStartAutopilotParams[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE
mStartAutopilotParams[EVENT_PARAM_TIME] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss)
mStartAutopilotParams[EVENT_PARAM_ACCURATE_TIME] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
// 外部点击时间
mStartAutopilotParams[EVENT_PARAM_CLICK_TIME] = DateTimeUtils.getTimeText(triggerDate,DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
mStartAutopilotParams[EVENT_PARAM_START_NAME] = startName
@@ -163,19 +150,15 @@ abstract class OchAutopilotAnalytics {
fun triggerUnableStartAPReasonEvent(
startName: String, endName: String, lineId: String, orderNo:String ,reason: String
) {
val plateNum = AppConfigInfo.plateNumber
val params = HashMap<String, Any>()
params[EVENT_PARAM_SN] = SharedPrefsMgr.getInstance().sn
params[EVENT_PARAM_PLATE_NUM] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE
params[EVENT_PARAM_TIME] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss)
params[EVENT_PARAM_ACCURATE_TIME] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
params[EVENT_PARAM_START_NAME] = startName
params[EVENT_PARAM_END_NAME] = endName
params[EVENT_PARAM_LINE_ID] = lineId
params[EVENT_PARAM_ORDER_NUMBER] = orderNo
params[EVENT_PARAM_UNABLE_START_REASON] = reason
params[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(mStartAutopilotParams)
MogoAnalyticUtils.track(getEventKeyApUnableStartReason(), params)
}
@@ -185,11 +168,10 @@ abstract class OchAutopilotAnalytics {
fun triggerClickStartAutopilotTime(triggerDate: Long) {
val plateNum = AppConfigInfo.plateNumber
val params = HashMap<String, Any>()
params[EVENT_PARAM_SN] = SharedPrefsMgr.getInstance().sn
params[EVENT_PARAM_PLATE_NUM] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params[EVENT_PARAM_ENV_ONLINE] = DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE
params[EVENT_PARAM_CLICK_TIME] = DateTimeUtils.getTimeText(triggerDate,DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
params[EVENT_PARAM_AUTOPILOTANALYTICS_GROUP] = EVENT_PARAM_AUTOPILOTANALYTICS_GROUP
OchChainLogManager.addCommonParams(mStartAutopilotParams)
MogoAnalyticUtils.track(getEventKeyClickStartAutopilot(), params)
}

View File

@@ -5,7 +5,9 @@ import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
@@ -67,12 +69,8 @@ object OchChainLogManager {
d(SceneConstant.M_OCHCOMMON + TAG, title)
d(SceneConstant.M_OCHCOMMON + TAG, info)
if(upload) {
val plateNum = AppConfigInfo.plateNumber
val params = HashMap<String, Any>()
params["sn"] = SharedPrefsMgr.getInstance().sn
params["env"] = DebugConfig.getNetMode()
params["plate_number"] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params["time"] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss)
addCommonParams(params)
params["info"] = title
params["changeInfo"] = info
patch?.let {
@@ -85,4 +83,17 @@ object OchChainLogManager {
}
}
fun addCommonParams(params:MutableMap<String,Any>){
val plateNum = AppConfigInfo.plateNumber
params["sn"] = SharedPrefsMgr.getInstance().sn
params["env"] = DebugConfig.getNetMode()
params["product"] = AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode)
params["role"] = AppIdentityModeUtils.getRole(FunctionBuildConfig.appIdentityMode)
params["cartype"] = AppIdentityModeUtils.getCarType(FunctionBuildConfig.appIdentityMode)
params["plate_number"] = if (TextUtils.isEmpty(plateNum)) "" else plateNum
params["time"] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss_SSS)
}
}

View File

@@ -284,10 +284,7 @@ object AppIdentityModeUtils {
return false
}
@JvmStatic
fun getProduct(appIdentityMode: String): Product {
val (bussness, _, _) = getInfo(appIdentityMode)
return when (bussness) {
@@ -299,9 +296,39 @@ object AppIdentityModeUtils {
else -> Product.NONE
}
}
@JvmStatic
fun getRole(appIdentityMode: String): Role {
val (_, role, _) = getInfo(appIdentityMode)
return when (role) {
DRIVER -> Role.Driver
PASSENGER -> Role.PASSENGER
else -> Role.NONE
}
}
@JvmStatic
fun getCarType(appIdentityMode: String): CarType {
val (_, _, carType) = getInfo(appIdentityMode)
return when (carType) {
B1 -> CarType.B1
B2 -> CarType.B2
C1 -> CarType.C1
M1 -> CarType.M1
T1T2 -> CarType.T1T2
else -> CarType.NONE
}
}
enum class Product {
NONE, BUS, TAXI, SWEEPER, SHUTTLE, CHARTER
}
enum class Role {
NONE, Driver, PASSENGER
}
enum class CarType {
NONE, B1, B2, C1, M1, T1T2,
}
}