[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,56 +0,0 @@
package com.mogo.commons.analytics;
import android.content.Context;
import com.elegant.analytics.Analytics;
import com.elegant.analytics.AnalyticsConfig;
import com.elegant.analytics.IAnalyticsParamsProvider;
import com.elegant.analytics.UploadMode;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.ParamsUtil;
import java.util.Map;
import androidx.annotation.Keep;
/**
* @author congtaowang
* @since 2019-12-23
* <p>
* 埋点
*/
public class AnalyticsUtils {
@Keep
public static void init( Context context ) {
// 1 - debug 近实时上报积累一条埋点上报或者积累3秒上报一次。
// 2 - 本地缓存聚合上报积累30条埋点上报或者积累60秒上报一次。
AnalyticsConfig.getInstance( context ).setAppKey( "0915430e5fdcbb553391f2a35cb8489f" );
AnalyticsConfig.getInstance( context ).setUploadMode( DebugConfig.isDebug() ? UploadMode.instant : UploadMode.cache );
AnalyticsConfig.getInstance( context ).setShouldLog( DebugConfig.isDebug() );
AnalyticsConfig.getInstance( AbsMogoApplication.getApp() ).setParamsProvider(new IAnalyticsParamsProvider() {
@Override
public Map< String, Object > staticParams() {
return ParamsUtil.getAnalyticsCustomParams();
}
@Override
public Map< String, Object > dynamicParams() {
return null;
}
} );
Analytics.getInstance().start( context );
}
/**
* 埋点
*
* @param event 事件名称
* @param properties 事件参数
*/
public static void track( String event, Map< String, Object > properties ) {
Analytics.getInstance().track( event, properties );
}
}

View File

@@ -0,0 +1,65 @@
package com.mogo.commons.utils
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 MogoAnalyticUtils {
@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: MutableMap<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
}
}