浏览代码

增加学生端事件埋点

Pq 2 年之前
父节点
当前提交
ed04b1a56f

+ 19 - 0
BaseLibrary/src/main/java/com/cooleshow/base/constanst/EventConstants.java

@@ -0,0 +1,19 @@
+package com.cooleshow.base.constanst;
+
+/**
+ * Author by pq, Date on 2022/9/19.
+ */
+public class EventConstants {
+
+    //1.模块点击情况: 需携带用户id
+    public static final String EVENT_ID_LOGIN="klx_login";//用户登录:klx_login
+    public static final String EVENT_ID_LOGOUT="klx_logout";//用户退出登录 klx_logout
+    public static final String EVENT_ID_NOTIFICATION="klx_notification";//查看消息 klx_notification
+    public static final String EVENT_ID_MY_COURSE="klx_myCourse";//点击我的课程 klx_myCourse
+    public static final String EVENT_ID_HOMEWORK="klx_homework";//点击我的作业 klx_homework
+    public static final String EVENT_ID_FEEDBACK="klx_feedback";//意见反馈 klx_feedback
+    public static final String EVENT_ID_LIVE="klx_live";//直播  klx_live
+    public static final String EVENT_ID_CLASSROOM="klx_classRoom";//陪练课 klx_classRoom
+    public static final String EVENT_ID_MUSIC_CLASSROOM="klx_musicClassRoom";//琴房课 klx_musicClassRoom
+
+}

+ 21 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/helper/BaseEventHelper.java

@@ -0,0 +1,21 @@
+package com.cooleshow.base.utils.helper;
+
+import android.util.Log;
+
+import com.cooleshow.base.utils.Utils;
+import com.umeng.analytics.MobclickAgent;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Author by pq, Date on 2022/9/19.
+ */
+public class BaseEventHelper {
+    public static void addEvent(String eventId, String userId) {
+        Map<String, Object> params = new HashMap<String, Object>();
+        params.put("userId", userId);//自定义参数
+        Log.i("BaseEventHelper", "add event:" + eventId + "--params:" + userId);
+        MobclickAgent.onEventObject(Utils.getApp(), eventId, params);
+    }
+}

+ 14 - 0
student/src/main/java/com/cooleshow/student/helper/EventHelper.java

@@ -0,0 +1,14 @@
+package com.cooleshow.student.helper;
+
+import com.cooleshow.base.utils.helper.BaseEventHelper;
+import com.cooleshow.usercenter.helper.UserHelper;
+
+/**
+ * Author by pq, Date on 2022/9/19.
+ */
+public class EventHelper {
+    public static void addEvent(String eventId) {
+        String userId = UserHelper.getUserId();
+        BaseEventHelper.addEvent(eventId, userId);
+    }
+}

+ 4 - 0
student/src/main/java/com/cooleshow/student/ui/live/LiveRoomActivity.java

@@ -33,6 +33,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.bumptech.glide.Glide;
 import com.cooleshow.base.common.WebConstants;
+import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.data.net.ApiException;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
@@ -46,6 +47,7 @@ import com.cooleshow.base.utils.Utils;
 import com.cooleshow.base.widgets.InputBar;
 import com.cooleshow.base.widgets.dialog.CommonConfirmDialog;
 import com.cooleshow.student.bean.FriendInfoBean;
+import com.cooleshow.student.helper.EventHelper;
 import com.cooleshow.student.ui.live.floatPop.FloatWindowHelper;
 import com.cooleshow.student.ui.live.floatPop.FloatingWindowService;
 import com.cooleshow.student.widgets.dialog.LiveRoomCloseTipDialog;
@@ -259,6 +261,8 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
     protected void onCreate(Bundle savedInstanceState) {
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
         super.onCreate(savedInstanceState);
+        //事件埋点->进入直播间
+        EventHelper.addEvent(EventConstants.EVENT_ID_LIVE);
     }
 
     @Override

+ 3 - 0
student/src/main/java/com/cooleshow/student/ui/main/MainActivity.java

@@ -20,6 +20,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.common.im.ui.MessageFragment;
 import com.cooleshow.base.bean.RouteBean;
 import com.cooleshow.base.common.BaseApplication;
+import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.constanst.LoginStatusConstants;
 import com.cooleshow.base.event.LoginStatusEvent;
 import com.cooleshow.base.router.RouterPath;
@@ -39,6 +40,7 @@ import com.cooleshow.student.adapter.HomePageAdapter;
 import com.cooleshow.student.constants.CommonConfig;
 import com.cooleshow.student.contract.MainContract;
 import com.cooleshow.student.databinding.ActivityMainBinding;
+import com.cooleshow.student.helper.EventHelper;
 import com.cooleshow.student.helper.PushIntentParseHelper;
 import com.cooleshow.student.presenter.main.MainPresenter;
 import com.cooleshow.usercenter.bean.UserInfo;
@@ -363,6 +365,7 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
             LiveConfig.isNeedReInitRTC = true;
             CommonConfig.isShowHomeFlashPage = true;
             isNeedSetPushId = true;
+            EventHelper.addEvent(EventConstants.EVENT_ID_LOGOUT);
             LogUtils.i("pq", "LoginStatusEvent:logout");
         }
     }

+ 8 - 0
student/src/main/java/com/cooleshow/student/ui/main/MineFragment.java

@@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.common.WebConstants;
+import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.GlideUtils;
@@ -24,6 +25,7 @@ import com.cooleshow.student.adapter.MineItemMarkAdapter;
 import com.cooleshow.student.bean.StudentUserInfo;
 import com.cooleshow.student.contract.MineContract;
 import com.cooleshow.student.databinding.FragmentMineLayoutBinding;
+import com.cooleshow.student.helper.EventHelper;
 import com.cooleshow.student.presenter.main.MinePresenter;
 import com.tbruyelle.rxpermissions3.RxPermissions;
 
@@ -72,6 +74,8 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                 //我的课程
                 ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
                         .navigation();
+                //事件埋点->点击我的课程
+                EventHelper.addEvent(EventConstants.EVENT_ID_MY_COURSE);
                 break;
             case R.id.ll_mine_homework:
                 if (UiUtils.isFastClick()) {
@@ -80,6 +84,8 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                 //我的作业
                 ARouter.getInstance().build(RouterPath.WorkCenter.TEACHER_WORK_HOMEWORK)
                         .navigation();
+                //事件埋点->点击我的作业
+                EventHelper.addEvent(EventConstants.EVENT_ID_HOMEWORK);
                 break;
             case R.id.ll_mine_score:
                 if (UiUtils.isFastClick()) {
@@ -139,6 +145,8 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                 //意见反馈
                 ARouter.getInstance().build(RouterPath.MineCenter.MINE_FEEDBACK)
                         .navigation();
+                //事件埋点->点击意见反馈
+                EventHelper.addEvent(EventConstants.EVENT_ID_FEEDBACK);
                 break;
             case R.id.tv_help:
                 //帮助中心

+ 5 - 0
student/src/main/java/com/cooleshow/student/ui/main/NewHomeFragment.java

@@ -14,6 +14,7 @@ import com.chad.library.adapter.base.listener.OnItemChildClickListener;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
+import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.GlideUtils;
@@ -23,6 +24,7 @@ import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.base.utils.helper.WebStartHelper;
 import com.cooleshow.base.widgets.CommonItemDecoration;
+import com.cooleshow.metronome.MetronomeActivity;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.HomeBottomPageAdapter;
 import com.cooleshow.student.adapter.HomeGoodMusicSheetAdapter;
@@ -48,6 +50,7 @@ import com.cooleshow.student.constants.CommonConfig;
 import com.cooleshow.student.constants.CourseConstants;
 import com.cooleshow.student.contract.HomeContract;
 import com.cooleshow.student.databinding.FragmentNewHomeLayoutBinding;
+import com.cooleshow.student.helper.EventHelper;
 import com.cooleshow.student.presenter.main.HomePresenter;
 import com.cooleshow.student.widgets.AppBarLayoutStateChangeListener;
 import com.cooleshow.student.widgets.DialogUtils;
@@ -718,6 +721,8 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
             }
             ARouter.getInstance().build(RouterPath.MessageCenter.TEACHER_MESSAGE_MESSAGEBOX)
                     .navigation();
+            //事件埋点->消息列表
+            EventHelper.addEvent(EventConstants.EVENT_ID_NOTIFICATION);
             return;
         }
         if (id == R.id.fl_course_enter) {

+ 19 - 0
teacher/src/main/java/com/cooleshow/teacher/helper/EventHelper.java

@@ -0,0 +1,19 @@
+package com.cooleshow.teacher.helper;
+
+import com.cooleshow.base.utils.Utils;
+import com.cooleshow.base.utils.helper.BaseEventHelper;
+import com.cooleshow.usercenter.helper.UserHelper;
+import com.umeng.analytics.MobclickAgent;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Author by pq, Date on 2022/9/19.
+ */
+public class EventHelper {
+    public static void addEvent(String eventId) {
+        String userId = UserHelper.getUserId();
+        BaseEventHelper.addEvent(eventId, userId);
+    }
+}

+ 3 - 0
usercenter/src/main/java/com/cooleshow/usercenter/ui/activity/VerifyCodeLoginActivity.java

@@ -16,6 +16,7 @@ import com.cooleshow.base.common.AppManager;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
+import com.cooleshow.base.constanst.EventConstants;
 import com.cooleshow.base.constanst.LoginStatusConstants;
 import com.cooleshow.base.data.net.CommonParamsHelper;
 import com.cooleshow.base.event.LoginStatusEvent;
@@ -27,6 +28,7 @@ import com.cooleshow.base.utils.PhoneUtils;
 import com.cooleshow.base.utils.SpannableStringUtils;
 import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.ToastUtils;
+import com.cooleshow.base.utils.helper.BaseEventHelper;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.usercenter.R;
 import com.cooleshow.usercenter.constants.UserConstants;
@@ -166,6 +168,7 @@ public class VerifyCodeLoginActivity extends BaseMVPActivity<ActivityVerifyCodeL
                         build.withString(Constants.COMMON_EXTRA_KEY, mExtra);
                     }
                     build.navigation();
+                    BaseEventHelper.addEvent(EventConstants.EVENT_ID_LOGIN,UserHelper.getUserId());
                     finish();
                 }
             }