[Change]
增加数据统计调用AnalyticsManager.track Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.data.config.HdMapBuildConfig;
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig;
|
||||
import com.mogo.eagle.core.data.constants.MoGoConfig;
|
||||
import com.mogo.eagle.core.function.call.analytics.AnalyticsManager;
|
||||
import com.mogo.eagle.core.function.main.MainMoGoApplication;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
@@ -32,6 +33,12 @@ public class MogoApplication extends MainMoGoApplication {
|
||||
crashSystem.setDebug(BuildConfig.DEBUG);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initAnalyticsConfig() {
|
||||
// 初始化埋点
|
||||
AnalyticsManager.INSTANCE.init(this, DebugConfig.isDebug());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initLogConfig() {
|
||||
super.initLogConfig();
|
||||
@@ -107,7 +114,7 @@ public class MogoApplication extends MainMoGoApplication {
|
||||
HmiBuildConfig.isShowTurnLightView = false;
|
||||
}
|
||||
|
||||
if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger")){
|
||||
if (DebugConfig.getProductFlavor().equals("fPadLenovoOchTaxiPassenger")) {
|
||||
//是否显示 限速UI
|
||||
HmiBuildConfig.isShowLimitingVelocityView = false;
|
||||
//是否显示 红绿等
|
||||
|
||||
@@ -21,11 +21,11 @@ import com.mogo.eagle.core.data.constants.MoGoConfig;
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.api.chat.biz.ChatConsts;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
|
||||
import com.mogo.eagle.core.function.notice.PushUIConstants;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.ProcessUtils;
|
||||
import com.mogo.map.MapApiPath;
|
||||
@@ -92,6 +92,11 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
*/
|
||||
protected abstract void initCrashConfig();
|
||||
|
||||
/**
|
||||
* 初始化异常采集配置
|
||||
*/
|
||||
protected abstract void initAnalyticsConfig();
|
||||
|
||||
/**
|
||||
* 初始化日志
|
||||
*/
|
||||
@@ -117,6 +122,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
@Override
|
||||
protected void asyncInitImpl() {
|
||||
super.asyncInitImpl();
|
||||
initAnalyticsConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -214,7 +220,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
Double.parseDouble(latitude),
|
||||
Double.parseDouble(longitude));
|
||||
} catch (NumberFormatException e) {
|
||||
// e.printStackTrace();
|
||||
// e.printStackTrace();
|
||||
httpDnsSimpleLocation = new HttpDnsSimpleLocation("010", 1, 1);
|
||||
}
|
||||
//CallerLogger.INSTANCE.d(M_MAIN + TAG, "使用缓存GPS信息:" + httpDnsSimpleLocation);
|
||||
|
||||
@@ -8,9 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.analytics.AnalyticsUtils;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.eagle.core.function.notice.Config;
|
||||
import com.mogo.eagle.core.function.notice.R;
|
||||
import com.mogo.eagle.core.function.notice.adapter.PushMessageAdapter;
|
||||
import com.mogo.eagle.core.function.notice.model.PushBean;
|
||||
@@ -25,9 +23,6 @@ import com.mogo.module.common.view.OnPreventFastClickListener;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020/9/1
|
||||
@@ -66,7 +61,6 @@ public class MessageHistoryFragment extends MvpFragment< MessageHistoryView, Mes
|
||||
mEmptyPlaceHolder = findViewById( R.id.module_push_id_not_data );
|
||||
mClose = findViewById( R.id.module_push_id_close );
|
||||
|
||||
AnalyticsUtils.track( Config.NEWS_HISTORY_OPEN, null );
|
||||
mClose.setOnClickListener( new OnPreventFastClickListener() {
|
||||
@Override
|
||||
public void onClickImpl( View v ) {
|
||||
@@ -76,7 +70,6 @@ public class MessageHistoryFragment extends MvpFragment< MessageHistoryView, Mes
|
||||
mClear.setOnClickListener( new OnPreventFastClickListener() {
|
||||
@Override
|
||||
public void onClickImpl( View v ) {
|
||||
AnalyticsUtils.track( Config.NEWS_HISTORY_ALL_CLEAR, null );
|
||||
if ( !mClearing ) {
|
||||
mClearing = true;
|
||||
AnimatorUtilsKt.startClearAnimator(
|
||||
@@ -97,12 +90,8 @@ public class MessageHistoryFragment extends MvpFragment< MessageHistoryView, Mes
|
||||
}
|
||||
mViewModel.delete( bean );
|
||||
if ( action ) {
|
||||
Map< String, Object > prop = new HashMap<>();
|
||||
prop.put( "title", bean.getTitle() );
|
||||
AnalyticsUtils.track( Config.NEWS_HISTORY_ONE_CLICK, prop );
|
||||
exitSelf();
|
||||
} else {
|
||||
AnalyticsUtils.track( Config.NEWS_HISTORY_ONE_CLEAR, null );
|
||||
mAdapter.removeItem( bean );
|
||||
if ( mAdapter.getItemCount() == 0 ) {
|
||||
mEmptyPlaceHolder.setVisibility( View.VISIBLE );
|
||||
|
||||
@@ -43,10 +43,13 @@ dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
|
||||
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
|
||||
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
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
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
|
||||
|
||||
/**
|
||||
* 埋点&数据统计 管理
|
||||
* @author donghongyu
|
||||
*/
|
||||
object AnalyticsManager {
|
||||
|
||||
@Keep
|
||||
fun init(context: Context?, isDebug: Boolean) {
|
||||
// 1 - debug 近实时上报,积累一条埋点上报,或者积累3秒上报一次。
|
||||
// 2 - 本地缓存,聚合上报,积累30条埋点上报,或者积累60秒上报一次。
|
||||
AnalyticsConfig.getInstance(context).appKey = "6bbe7e0e1ecd8e2f8dc336e1678a2791"
|
||||
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: Map<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
|
||||
|
||||
return map
|
||||
}
|
||||
}
|
||||
@@ -36,12 +36,12 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
api rootProject.ext.dependencies.androidxappcompat
|
||||
api rootProject.ext.dependencies.analytics
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
implementation rootProject.ext.dependencies.analytics
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
annotationProcessor rootProject.ext.dependencies.aroutercompiler
|
||||
implementation rootProject.ext.dependencies.rxjava
|
||||
api rootProject.ext.dependencies.mogoaicloudrealtime
|
||||
implementation rootProject.ext.dependencies.mogoaicloudrealtime
|
||||
implementation rootProject.ext.dependencies.amapnavi3dmap
|
||||
|
||||
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
|
||||
|
||||
@@ -15,7 +15,6 @@ import android.widget.TextView;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.aicloud.services.httpdns.IMogoHttpDns;
|
||||
import com.mogo.aicloud.services.httpdns.MogoHttpDnsHandler;
|
||||
import com.mogo.commons.analytics.AnalyticsUtils;
|
||||
import com.mogo.commons.crash.FinalizeCrashFixer;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.device.Devices;
|
||||
@@ -149,15 +148,12 @@ public abstract class AbsMogoApplication extends Application {
|
||||
*/
|
||||
protected void asyncInit() {
|
||||
ThreadPoolService.execute(() -> {
|
||||
|
||||
//初始化网络配置
|
||||
NetConfigUtils.init();
|
||||
// 初始化埋点
|
||||
AnalyticsUtils.init(sApp);
|
||||
if (DebugConfig.getCarMachineType() == CAR_MACHINE_TYPE_SELF_INNOVATE) {
|
||||
Devices.init(getApp());
|
||||
Devices.checkBindState();
|
||||
}
|
||||
//初始化网络配置
|
||||
NetConfigUtils.init();
|
||||
asyncInitImpl();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ public interface IMogoAnalytics extends IProvider {
|
||||
*
|
||||
* @param event 事件名称
|
||||
* @param properties 埋点参数
|
||||
* @see AnalyticsManager
|
||||
*/
|
||||
@Keep
|
||||
@Deprecated
|
||||
void track( String event, Map< String, Object > properties );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user