init static method
Future<void>
init(
- QAPMBuilder builder,
- AppRunner? appRunner, {
- BeforeInitRunner? beforeInitRunner,
Implementation
static Future<void> init(QAPMBuilder builder, AppRunner? appRunner, {BeforeInitRunner? beforeInitRunner}) async {
SDKConfig.builder = builder;
final initTasks = _createInitTasks(builder, beforeInitRunner);
runInitTasks() async {
try {
for (final task in initTasks) {
await task.run();
}
} catch (e) {
Logger.error(tag, '_runInitTask error: $e');
}
if (appRunner != null) {
await appRunner();
}
}
// appRunner不为空,且当前要开启的功能有异常监控的话
if (appRunner != null && builder.funcSwitch & MODE_CRASH > 0) {
RunZonedGuardedTask runZonedGuardedTask = RunZonedGuardedTask(builder, runInitTasks);
await runZonedGuardedTask.run();
// todo 这里是老方式来获取,但可能得先记录,等初始化后再上报
} else {
await runInitTasks();
}
}