transform method
Implementation
@override
FutureOr<Data> transform(Map<String, dynamic> dataMap) async {
//加载设备信息
if (ApplicationProfileManager.instance.getDeviceParameters().isEmpty) {
await ApplicationProfileManager.instance.loadDeviceInfo();
}
//加载应用信息
if (ApplicationProfileManager.instance.getApplicationParameters().isEmpty) {
await ApplicationProfileManager.instance.loadApplicationInfo();
}
int timestamp =
dataMap[Constants.timestamp] ?? DateTime.now().millisecondsSinceEpoch;
String eventName = dataMap[Constants.event] ?? Constants.unknown;
String id = dataMap[Constants.id] ?? Ids.generateUUID();
Map<String, dynamic> category =
dataMap[Constants.category] ?? <String, dynamic>{};
Map<String, dynamic> metric = dataMap[Constants.metric] ?? <String, dynamic>{};
Map<String, dynamic> extra = dataMap[Constants.extra] ?? <String, dynamic>{};
Map<String, dynamic> custom = dataMap[Constants.custom] ?? <String, dynamic>{};
Map<String, dynamic> device =
ApplicationProfileManager.instance.getDeviceParameters();
Map<String, dynamic> application =
ApplicationProfileManager.instance.getApplicationParameters();
Data data = Data(id, timestamp, eventName, category, metric, extra,
custom, device, application);
return data;
}