[2.13.0-arch-opt]analytics move to foundation

This commit is contained in:
zhongchao
2023-02-20 19:10:11 +08:00
parent 6d2deb6582
commit 312744e4ee
14 changed files with 46 additions and 97 deletions

View File

@@ -1,11 +1,11 @@
package com.mogo.eagle.core.function.chat.facade.analytics
import com.mogo.commons.analytics.AnalyticsUtils
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.function.api.chat.biz.IMoGoAnalyticsFacade
object ChatAnalyticsFacade: IMoGoAnalyticsFacade {
override fun track(eventType: String, data: Map<String, Any>?) {
AnalyticsUtils.track(eventType, data)
override fun track(eventType: String, data: MutableMap<String, Any>) {
MogoAnalyticUtils.track(eventType, data)
}
}

View File

@@ -87,7 +87,7 @@ dependencies {
api project(':test:crashreport-apmbyte')
compileOnly project(':core:function-impl:mogo-core-function-datacenter')
compileOnly project(':foudations:mogo-commons')
implementation project(':foudations:mogo-commons')
api project(':core:mogo-core-res')
compileOnly project(':core:mogo-core-utils')
compileOnly project(':core:mogo-core-function-call')

View File

@@ -14,7 +14,7 @@ import com.kwai.koom.nativeoom.leakmonitor.LeakListener
import com.kwai.koom.nativeoom.leakmonitor.LeakMonitor.start
import com.kwai.koom.nativeoom.leakmonitor.LeakMonitorConfig
import com.kwai.koom.nativeoom.leakmonitor.LeakRecord
import com.mogo.commons.analytics.AnalyticsUtils
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.commons.context.ContextHolderUtil
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.module.status.MogoStatusManager
@@ -169,7 +169,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
properties["app_launch_hotStartTime"] = hotStartTime
}
}
AnalyticsUtils.track("app_launch_time", properties)
MogoAnalyticUtils.track("app_launch_time", properties)
}
}

View File

@@ -11,6 +11,7 @@ import com.mogo.cloud.passport.IMoGoTokenCallback
import com.mogo.cloud.passport.MoGoAiCloudClient
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.commons.constants.SharedPrefsConstants
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.module.status.MogoStatusManager
@@ -23,7 +24,6 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CL
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
import com.mogo.eagle.core.function.call.analytics.AnalyticsManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
@@ -218,14 +218,14 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
//初始化网络配置
NetConfigUtils.init()
// 初始化埋点
AnalyticsManager.init(context, DebugConfig.isDebug())
MogoAnalyticUtils.init(context, DebugConfig.isDebug())
// 加入启动统计
val mStartParams: HashMap<String, Any> = HashMap()
mStartParams["start_time"] = TimeUtils.getNowMills()
mStartParams["app_version"] = AppUtils.getAppVersionName()
mStartParams["app_flavor"] = DebugConfig.getProductFlavor();
mStartParams["app_flavor"] = DebugConfig.getProductFlavor()
mStartParams["app_identity_mode"] = FunctionBuildConfig.appIdentityMode
AnalyticsManager.track("app_start_time", mStartParams)
MogoAnalyticUtils.track("app_start_time", mStartParams)
}
}

View File

@@ -200,5 +200,5 @@ interface IMoGoMediaFacade {
interface IMoGoAnalyticsFacade {
fun track(eventType: String, data: Map<String, Any>? = hashMapOf())
fun track(eventType: String, data: MutableMap<String, Any> = hashMapOf())
}

View File

@@ -46,16 +46,13 @@ dependencies {
implementation rootProject.ext.dependencies.arouter
kapt rootProject.ext.dependencies.aroutercompiler
// MoGo 数据埋点工具
implementation rootProject.ext.dependencies.analytics
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
implementation rootProject.ext.dependencies.mogo_core_data
implementation rootProject.ext.dependencies.mogo_core_utils
implementation rootProject.ext.dependencies.mogocommons
} else {
implementation project(':core:mogo-core-utils')
implementation project(':foudations:mogo-commons')
compileOnly project(':core:mogo-core-utils')
compileOnly project(':core:mogo-core-data')
compileOnly project(':libraries:mogo-adas')
compileOnly project(':libraries:mogo-obu')
api project(':libraries:mogo-map-api')

View File

@@ -1,65 +0,0 @@
package com.mogo.eagle.core.function.call.analytics
import android.content.Context
import androidx.annotation.Keep
import androidx.collection.ArrayMap
import com.elegant.analytics.Analytics
import com.elegant.analytics.AnalyticsConfig
import com.elegant.analytics.IAnalyticsParamsProvider
import com.elegant.analytics.UploadMode
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.util.AppUtils
/**
* 埋点&数据统计 管理
* @author donghongyu
*/
object AnalyticsManager {
@Keep
fun init(context: Context?, isDebug: Boolean) {
// 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).setShouldLog(isDebug)
// 设置参数提供者
AnalyticsConfig.getInstance(context).paramsProvider = object : IAnalyticsParamsProvider {
// 静态参数
override fun staticParams(): Map<String, Any> {
return getAnalyticsCustomParams(isDebug)
}
//动态参数
override fun dynamicParams(): Map<String, Any>? {
return null
}
}
Analytics.getInstance().start(context)
}
/**
* 埋点
*
* @param event 事件名称
* @param properties 事件参数
*/
fun track(event: String?, properties: HashMap<String, Any>) {
Analytics.getInstance().track(event, properties)
}
/**
* 静态的统计参数
*/
fun getAnalyticsCustomParams(isDebug: Boolean): Map<String, Any> {
val map: MutableMap<String, Any> = ArrayMap()
map["debug"] = if (isDebug) 1 else 0
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
map["app_version"] = AppUtils.getAppVersionName()
map["app_identity_mode"] = FunctionBuildConfig.appIdentityMode
return map
}
}

View File

@@ -6,7 +6,6 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste
import com.mogo.eagle.core.function.call.base.CallerBase
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.CoordinateTransform
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
/**