增加数据统计调用AnalyticsManager.track

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-03-21 19:10:09 +08:00
committed by renwj
parent bb5f63dc5d
commit 571d401ce7
8 changed files with 88 additions and 24 deletions

View File

@@ -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);

View File

@@ -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 );

View File

@@ -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

View File

@@ -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
}
}