diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAnalyticsManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAnalyticsManager.kt new file mode 100644 index 0000000000..8a4cc376c5 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAnalyticsManager.kt @@ -0,0 +1,48 @@ +package com.zhjt.mogo_core_function_devatools.upgrade + +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.commons.utils.MogoAnalyticUtils +import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.util.AppUtils + +/** + * APP升级埋点管理 + */ +object UpgradeAnalyticsManager { + + private const val installedApkInfo = "installedApkInfo" + + private const val eventParamAppFlavor = "appFlavor" //渠道信息 + private const val eventParamBranchHash = "branchHash" //Git Hash + private const val eventParamPackageInfoList = "packageInfoList" + private const val eventParamIsInstallAppStore = "isInstallAppStore" + + /** + * @param appFlavor 渠道信息 + * @param branchHash Git Hash + * @param packageInfoList 已安装应用列表 + * @param isInstallAppStore 是否安装应用商店 + */ + private fun realUpgradeAnalytics(appFlavor: String,branchHash: String, + packageInfoList: List,isInstallAppStore: Boolean){ + val upgradeParams = HashMap() + upgradeParams[eventParamAppFlavor] = appFlavor + upgradeParams[eventParamBranchHash] = branchHash + upgradeParams[eventParamPackageInfoList] = packageInfoList + upgradeParams[eventParamIsInstallAppStore] = isInstallAppStore + MogoAnalyticUtils.track(installedApkInfo,upgradeParams) + } + + /** + * @param packageInfoList 已安装应用列表 + * @param isInstallAppStore 是否安装应用商店 + */ + fun upgradeAnalytics(packageInfoList: List,isInstallAppStore: Boolean){ + realUpgradeAnalytics(AppConfigInfo.flavor, + AppConfigInfo.workingBranchHash, packageInfoList, isInstallAppStore) + } + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 3622d924ba..c88e2df8d2 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -1,9 +1,12 @@ package com.zhjt.mogo_core_function_devatools.upgrade import android.content.* +import android.content.pm.PackageManager +import android.os.Build import android.text.TextUtils import android.util.* import android.widget.Toast +import androidx.annotation.RequiresApi import com.mogo.commons.constants.* import com.mogo.commons.utils.* import com.mogo.eagle.core.data.config.* @@ -177,6 +180,8 @@ class UpgradeAppNetWorkManager private constructor() { Log.d("ApkInstaller", "走全量升级 --- 1 ----") provider?.recordUpgradeRecord(info.result.versionName, null, 0) } + //系统安装所有APP列表埋点统计 + installedInfoAnalytics() if (ApkInstaller.isInstallAppStore(Utils.getApp())) { if (mDownloadRequested) { return @@ -213,6 +218,22 @@ class UpgradeAppNetWorkManager private constructor() { } } + /** + *系统安装所有APP列表埋点统计 + */ + private fun installedInfoAnalytics(){ + val installedPackages = Utils.getApp().packageManager.getInstalledPackages(0) + val packageInfoList = ArrayList() + var isInstallAppStore = false + installedPackages.forEach { + packageInfoList.add("packageName="+it.packageName+" versionName="+it.versionName+" versionCode="+it.versionCode) + if(it.packageName == "com.mogo.appstore"){ + isInstallAppStore = true + } + } + UpgradeAnalyticsManager.upgradeAnalytics(packageInfoList,isInstallAppStore) + } + /** * 删除APK 相关的文件 */