[Update]Bugly和APM初始化时间提前

This commit is contained in:
chenfufeng
2022-06-22 12:07:52 +08:00
committed by liujing
parent 3ecce13f74
commit fff31003ec
7 changed files with 63 additions and 24 deletions

View File

@@ -0,0 +1,29 @@
package com.mogo.launcher.stageone
import android.content.Context
import com.rousetime.android_startup.AndroidStartup
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.test.crashreport.upgrade.UpgradeReportConstants
import com.mogo.test.crashreport.CrashReportConstants
class APMStartup : AndroidStartup<Boolean?>() {
override fun create(context: Context): Boolean? {
// bugly
ARouter.getInstance().build(UpgradeReportConstants.PATH).navigation()
// apm
ARouter.getInstance().build(CrashReportConstants.PATH).navigation()
return true
}
override fun callCreateOnMainThread(): Boolean {
return true
}
override fun waitOnMainThread(): Boolean {
return false
}
override fun dependenciesByName(): List<String> {
return listOf("com.mogo.launcher.stageone.ARouterStartUp")
}
}

View File

@@ -62,7 +62,7 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
override fun waitOnMainThread() = false
override fun dependenciesByName(): List<String> {
return listOf("com.mogo.launcher.stageone.ARouterStartUp", "com.mogo.launcher.stageone.ConfigStartUp")
return listOf("com.mogo.launcher.stageone.APMStartup", "com.mogo.launcher.stageone.ConfigStartUp")
}
override fun create(context: Context): Boolean {

View File

@@ -216,7 +216,7 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
}
new StartupManager.Builder()
.addStartup(new AutopilotStartup())
.addStartup(new APMStartup())
// .addStartup(new APMStartup())
.setConfig(config)
.build(this)
.start()

View File

@@ -30,11 +30,11 @@ public class AutopilotStartup extends AndroidStartup<Boolean> {
return false;
}
@Nullable
@Override
public List<String> dependenciesByName() {
List<String> deps = new ArrayList<>();
deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup");
return deps;
}
// @Nullable
// @Override
// public List<String> dependenciesByName() {
// List<String> deps = new ArrayList<>();
// deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup");
// return deps;
// }
}

View File

@@ -28,11 +28,11 @@ public class MapStartup extends AndroidStartup<Boolean> {
return false;
}
@Nullable
@Override
public List<String> dependenciesByName() {
List<String> deps = new ArrayList<>();
deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup");
return deps;
}
// @Nullable
// @Override
// public List<String> dependenciesByName() {
// List<String> deps = new ArrayList<>();
// deps.add("com.mogo.eagle.core.function.main.stagetwo.APMStartup");
// return deps;
// }
}

View File

@@ -11,7 +11,6 @@ import com.apm.insight.log.VLog;
import com.bytedance.apm.insight.ApmInsight;
import com.bytedance.apm.insight.ApmInsightAgent;
import com.bytedance.apm.insight.ApmInsightInitConfig;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.constants.SharedPrefsConstants;
import com.mogo.eagle.core.data.bindingcar.CarInfo;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
@@ -54,7 +53,10 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider {
HashMap<String, String> map = new HashMap<>();
//车辆信息
String carInfoString = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.CAR_INFO);
CarInfo info = GsonUtils.fromJson(carInfoString, CarInfo.class);
CarInfo info = null;
if (carInfoString != null && !carInfoString.isEmpty()) {
info = GsonUtils.fromJson(carInfoString, CarInfo.class);
}
//地图版本
String mapSDKVersion = AppUtils.getCustomMapSDKVersion(context);
@@ -71,16 +73,21 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider {
String mapSDKVersion = AppUtils.getCustomMapSDKVersion(context);
crash.config().setChannel("MAP_SDK_VERSION:"+mapSDKVersion);
//可选可以设置自定义did,不设置会使用内部默认的
crash.config().setDeviceId(MoGoAiCloudClientConfig.getInstance().getSn());
String sn = SharedPrefsMgr.getInstance(context).getString("sn");
if (sn != null && !sn.isEmpty()) {
crash.config().setDeviceId(sn);
} else {
crash.config().setDeviceId(DeviceIdUtils.getDeviceId(context));
}
crash.addTags(MAP_SDK_VERSION, mapSDKVersion);
// crash.setReportUrl("www.xxx.com"); // 私有化部署:私有化部署才配置上报地址
// crash.addTags("key", "value"); // 自定义筛选tag, 按需添加、可多次覆盖
HashMap<String, String> dimension = new HashMap<>();
//维度值
dimension.put("Devices_SN_DeviceId", MoGoAiCloudClientConfig.getInstance().getSn() + "__" + DeviceIdUtils.getDeviceId(context));
dimension.put("Devices_SN_WidevineID_MD5", MoGoAiCloudClientConfig.getInstance().getSn() + "__" + DeviceIdUtils.getWidevineIDWithMd5(context));
dimension.put("Devices_SN_WidevineID", MoGoAiCloudClientConfig.getInstance().getSn() + "__" + DeviceIdUtils.getWidevineID(context));
dimension.put("Devices_SN_DeviceId", sn + "__" + DeviceIdUtils.getDeviceId(context));
dimension.put("Devices_SN_WidevineID_MD5", sn + "__" + DeviceIdUtils.getWidevineIDWithMd5(context));
dimension.put("Devices_SN_WidevineID", sn + "__" + DeviceIdUtils.getWidevineID(context));
dimension.put(MAP_SDK_VERSION, mapSDKVersion);
HashMap<String, Double> metric = new HashMap<>();
//指标值

View File

@@ -5,8 +5,8 @@ import android.text.TextUtils;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.test.crashreport.CrashReportConstants;
import com.tencent.bugly.Bugly;
@@ -38,7 +38,10 @@ public class UpgradeReportProvider implements IProvider {
String productFlavor = DebugConfig.getProductFlavor();
strategy.setAppChannel(productFlavor);
Bugly.init(context, CrashReportConstants.buglyAppID, true, strategy);
Bugly.putUserData(context, "serial", MoGoAiCloudClientConfig.getInstance().getSn());
String sn = SharedPrefsMgr.getInstance(context).getString("sn");
if (sn != null && !sn.isEmpty()) {
Bugly.putUserData(context, "serial", sn);
}
String mapSDKVersion = AppUtils.getCustomMapSDKVersion(context);
Bugly.putUserData(context, "MAP_SDK_VERSION", mapSDKVersion);
}