1、增加应用启动统计埋点
2、埋点数据据增加常规参数
This commit is contained in:
donghongyu-pc
2024-09-03 15:58:06 +08:00
parent 3ee659a7be
commit 8b421771ed
3 changed files with 56 additions and 9 deletions

View File

@@ -8,8 +8,11 @@ import com.elegant.analytics.AnalyticsConfig
import com.elegant.analytics.IAnalyticsParamsProvider
import com.elegant.analytics.UploadMode
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.AppUtils
import org.json.JSONObject
/**
* 埋点&数据统计 管理
@@ -22,7 +25,8 @@ object MogoAnalyticUtils {
// 1 - debug 近实时上报积累一条埋点上报或者积累3秒上报一次。
// 2 - 本地缓存聚合上报积累30条埋点上报或者积累60秒上报一次。
AnalyticsConfig.getInstance(context).appKey = "0915430e5fdcbb553391f2a35cb8489f"
AnalyticsConfig.getInstance(context).uploadMode = if (isDebug) UploadMode.instant else UploadMode.cache
AnalyticsConfig.getInstance(context).uploadMode =
if (isDebug) UploadMode.instant else UploadMode.cache
AnalyticsConfig.getInstance(context).setShouldLog(isDebug)
// 设置参数提供者
AnalyticsConfig.getInstance(context).paramsProvider = object : IAnalyticsParamsProvider {
@@ -49,6 +53,16 @@ object MogoAnalyticUtils {
Analytics.getInstance().track(event, properties)
}
/**
* 埋点
*
* @param event 事件名称
* @param properties json事件参数
*/
fun track(event: String?, properties: JSONObject) {
Analytics.getInstance().track(event, properties)
}
/**
* 静态的统计参数
@@ -58,7 +72,26 @@ object MogoAnalyticUtils {
map["debug"] = if (isDebug) 1 else 0
map["sn"] = SharedPrefsMgr.getInstance().sn
map["app_version"] = AppUtils.getAppVersionName()
map["app_version_code"] = AppUtils.getAppVersionCode()
map["app_identity_mode"] = FunctionBuildConfig.appIdentityMode
map["app_build_time"] = AppConfigInfo.appBuildTime
map["app_working_branch_hash"] = AppConfigInfo.workingBranchHash
map["app_working_branch_name"] = AppConfigInfo.workingBranchName
map["app_flavor"] = AppConfigInfo.flavor
map["app_net_mode"] = when (AppConfigInfo.netMode) {
2 -> "测试环境"
3 -> "生产环境"
4 -> "演示环境"
else -> {
AppConfigInfo.netMode
}
}
map["app_support_business"] = FunctionBuildConfig.supportBusiness
map["plate_number"] = AppConfigInfo.plateNumber
map["product_type"] = AppIdentityModeUtils.getProduct(FunctionBuildConfig.appIdentityMode).name
map["car_type"] = AppIdentityModeUtils.getCarType(FunctionBuildConfig.appIdentityMode).name
return map
}