diff --git a/app/src/main/java/com/gh/common/tracker/Tracker.kt b/app/src/main/java/com/gh/common/tracker/Tracker.kt index 4e1990bfcd..77cedec15f 100644 --- a/app/src/main/java/com/gh/common/tracker/Tracker.kt +++ b/app/src/main/java/com/gh/common/tracker/Tracker.kt @@ -33,8 +33,6 @@ object Tracker : ITrack { val businessId = if (activity is IBusiness) activity.getBusinessId() else null TrackerLogger.logActivityStart( - mLaunchId, - mSessionId, System.identityHashCode(activity).toString(), activity::class.java.simpleName, businessId) @@ -44,23 +42,21 @@ object Tracker : ITrack { val businessId = if (activity is IBusiness) activity.getBusinessId() else null TrackerLogger.logActivityStop( - mLaunchId, - mSessionId, System.identityHashCode(activity).toString(), activity::class.java.simpleName, businessId) } override fun onAppStarted() { - TrackerLogger.logAppStart(mLaunchId, mSessionId) + TrackerLogger.logAppStart() } override fun onAppVisible(interval: Long) { - TrackerLogger.logAppVisible(mLaunchId, mSessionId, interval) + TrackerLogger.logAppVisible(interval) } override fun onAppStopped() { - TrackerLogger.logAppStop(mLaunchId, mSessionId) + TrackerLogger.logAppStop() } override fun onSessionChanged(sessionId: String) { diff --git a/app/src/main/java/com/gh/common/tracker/TrackerLogger.kt b/app/src/main/java/com/gh/common/tracker/TrackerLogger.kt index 83f5fdc715..2930f8dfb2 100644 --- a/app/src/main/java/com/gh/common/tracker/TrackerLogger.kt +++ b/app/src/main/java/com/gh/common/tracker/TrackerLogger.kt @@ -1,10 +1,13 @@ package com.gh.common.tracker +import android.content.Context import com.gh.common.exposure.meta.MetaUtil import com.gh.common.exposure.meta.MetaUtil.getBase64EncodedAndroidId import com.gh.common.exposure.meta.MetaUtil.getBase64EncodedIMEI import com.gh.common.loghub.LoghubUtils +import com.gh.common.util.PackageUtils import com.gh.common.util.tryCatchInRelease +import com.gh.gamecenter.R import com.lightgame.utils.Utils import org.json.JSONException import org.json.JSONObject @@ -13,16 +16,16 @@ object TrackerLogger { private const val LOG_STORE = "launch_activity" - fun logAppStart(launchId: String, sessionId: String) { - logAppVisible(launchId, sessionId, 0) + fun logAppStart() { + logAppVisible(0) } - fun logAppVisible(launchId: String, sessionId: String, interval: Long) { + fun logAppVisible(interval: Long) { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) payloadObject.put("interval", interval) jsonObject.put("event", "app_visible") @@ -32,12 +35,12 @@ object TrackerLogger { uploadToLoghub(jsonObject, true) } - fun logAppStop(launchId: String, sessionId: String) { + fun logAppStop() { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) jsonObject.put("event", "app_invisible") jsonObject.put("payload", payloadObject) @@ -46,16 +49,14 @@ object TrackerLogger { uploadToLoghub(jsonObject, true) } - fun logActivityStart(launchId: String, - sessionId: String, - activityId: String, + fun logActivityStart(activityId: String, activityName: String, activityBusinessId: Pair? = null) { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) payloadObject.put("activity_id", activityId) payloadObject.put("activity_name", activityName) if (activityBusinessId != null) { @@ -72,16 +73,14 @@ object TrackerLogger { uploadToLoghub(jsonObject, false) } - fun logActivityStop(launchId: String, - sessionId: String, - activityId: String, + fun logActivityStop(activityId: String, activityName: String, activityBusinessId: Pair? = null) { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) payloadObject.put("activity_id", activityId) payloadObject.put("activity_name", activityName) if (activityBusinessId != null) { @@ -99,15 +98,13 @@ object TrackerLogger { } @JvmStatic - fun logHomeTabSelected(launchId: String, - sessionId: String, - tabPosition: Int, + fun logHomeTabSelected(tabPosition: Int, tabContent: String) { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) payloadObject.put("tab_position", tabPosition) payloadObject.put("tab_content", tabContent) @@ -119,12 +116,17 @@ object TrackerLogger { } @JvmStatic - fun logAppLaunch(launchId: String, sessionId: String) { + fun logAppLaunch(context: Context) { val jsonObject = JSONObject() val payloadObject = JSONObject() + val signatureHash = PackageUtils.getApkSignatureByPackageName(context, context.packageName) + tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) + payloadObject.put("signature", signatureHash) + payloadObject.put("package_name", context.packageName) + payloadObject.put("app_name", context.getString(R.string.app_name)) jsonObject.put("event", "app_launch") jsonObject.put("payload", payloadObject) @@ -134,12 +136,12 @@ object TrackerLogger { } @JvmStatic - fun logAppLaunchSuccessful(launchId: String, sessionId: String) { + fun logAppLaunchSuccessful() { val jsonObject = JSONObject() val payloadObject = JSONObject() tryCatchInRelease { - payloadObject.put("launch_id", launchId) - payloadObject.put("session_id", sessionId) + payloadObject.put("launch_id", Tracker.launchId) + payloadObject.put("session_id", Tracker.sessionId) jsonObject.put("event", "app_launch_successful") jsonObject.put("payload", payloadObject) diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 5bdd9f8f96..fb4ae23098 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -25,7 +25,6 @@ import com.gh.common.AppExecutor; import com.gh.common.constant.Config; import com.gh.common.constant.Constants; import com.gh.common.dialog.PrivacyDialogFragment; -import com.gh.common.tracker.Tracker; import com.gh.common.tracker.TrackerLogger; import com.gh.common.util.AdHelper; import com.gh.common.util.DeviceTokenUtils; @@ -106,7 +105,7 @@ public class SplashScreenActivity extends BaseActivity { DisplayUtils.transparentStatusBar(this); - TrackerLogger.logAppLaunch(Tracker.INSTANCE.getLaunchId(), Tracker.INSTANCE.getSessionId()); + TrackerLogger.logAppLaunch(this); // 处理助手已经在后台运行导致的再次启动助手 if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { @@ -309,7 +308,7 @@ public class SplashScreenActivity extends BaseActivity { private void launchMainActivity() { HaloApp.getInstance().postInit(true); - TrackerLogger.logAppLaunchSuccessful(Tracker.INSTANCE.getLaunchId(), Tracker.INSTANCE.getSessionId()); + TrackerLogger.logAppLaunchSuccessful(); getAd(); prefetchData(); diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java index 7888a71562..5804be3d49 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -29,7 +29,6 @@ import com.gh.base.OnDoubleTapListener; import com.gh.base.fragment.BaseFragment_ViewPager_Checkable; import com.gh.common.constant.Config; import com.gh.common.syncpage.SyncPageRepository; -import com.gh.common.tracker.Tracker; import com.gh.common.tracker.TrackerLogger; import com.gh.common.util.BiCallback; import com.gh.common.util.DataUtils; @@ -42,7 +41,6 @@ import com.gh.common.util.IntegralLogHelper; import com.gh.common.util.LogUtils; import com.gh.common.view.ReserveDialog; import com.gh.common.view.WelcomeDialog; -import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.SettingsEntity; import com.gh.gamecenter.entity.SubjectRecommendEntity; @@ -489,11 +487,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem } DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", tabText); - TrackerLogger.logHomeTabSelected( - Tracker.INSTANCE.getLaunchId(), - Tracker.INSTANCE.getSessionId(), - index, - tabText); + TrackerLogger.logHomeTabSelected(index, tabText); SubjectRecommendEntity navBarEntity = mViewModel.getNavBar().getValue(); if (navBarEntity != null) {