waitNativeSdkInited method

FutureOr<bool> waitNativeSdkInited()

Implementation

FutureOr<bool> waitNativeSdkInited() async {
  Map<String, dynamic>? cloudConfig =
      (await ApmMethodChannel.getCloudConfig()) ?? {};
  Map<String, dynamic>? nativeParams =
      (await ApmMethodChannel.getNativeParams()) ?? {};
  ApmCloudConfigManager apmCloudConfigManager =
      ApmCloudConfigManager.singleInstance;

  final bool isInited = nativeParams.containsKey(KEY_APPID) &&
      cloudConfig.containsKey(KEY_PV_SAMPLING_HIT) &&
      nativeParams[KEY_APPID] is String &&
      cloudConfig[KEY_PV_SAMPLING_HIT] is bool;
  if (nativeParams.containsKey(KEY_UMID_HEADER)) {
    printLog('【UMID】${nativeParams[KEY_UMID_HEADER]}');
  }
  if (nativeParams.containsKey(KEY_UMID)) {
    printLog('【UMID】${nativeParams[KEY_UMID]}');
  }

  if (isInited) {
    await apmCloudConfigManager.setCloudConfig(cloudConfig);
    await apmCloudConfigManager.initNativeStore();

    setStoreMultiProperty([
      {"name": 'baseInfo', "value": nativeParams},
      {"name": 'appid', "value": nativeParams[KEY_APPID]},
    ]);
  }
  return isInited;
}