fix(telemetry): 将设备信息合并到每个事件的 properties 中上报服务端
设备信息(品牌/型号/OS/版本/语言)此前只存储在本地,对服务端分析毫无价值。 现在在 logEvent() 中将 deviceProps 合并到每个事件的 properties 字段, 使服务端 analytics 表能按设备维度进行统计分析。同时修复 _deviceContext 为 null 时的空指针异常(deviceContextId 使用 ?? '' 安全降级)。 适用于 mining-app 和 mobile-app 两端。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
033d1cde42
commit
482df12f91
|
|
@ -179,12 +179,22 @@ class TelemetryService {
|
|||
}
|
||||
}
|
||||
|
||||
final deviceProps = _deviceContext != null
|
||||
? {
|
||||
'device_brand': _deviceContext!.brand,
|
||||
'device_model': _deviceContext!.model,
|
||||
'device_os': _deviceContext!.osVersion,
|
||||
'app_version': _deviceContext!.appVersion,
|
||||
'locale': _deviceContext!.locale,
|
||||
}
|
||||
: <String, dynamic>{};
|
||||
|
||||
final event = TelemetryEvent(
|
||||
eventId: const Uuid().v4(),
|
||||
type: type,
|
||||
level: level,
|
||||
name: eventName,
|
||||
properties: properties,
|
||||
properties: {...deviceProps, ...?properties},
|
||||
timestamp: DateTime.now(),
|
||||
userId: _userId,
|
||||
sessionId: _sessionManager.currentSessionId,
|
||||
|
|
|
|||
|
|
@ -183,17 +183,27 @@ class TelemetryService {
|
|||
}
|
||||
}
|
||||
|
||||
final deviceProps = _deviceContext != null
|
||||
? {
|
||||
'device_brand': _deviceContext!.brand,
|
||||
'device_model': _deviceContext!.model,
|
||||
'device_os': _deviceContext!.osVersion,
|
||||
'app_version': _deviceContext!.appVersion,
|
||||
'locale': _deviceContext!.locale,
|
||||
}
|
||||
: <String, dynamic>{};
|
||||
|
||||
final event = TelemetryEvent(
|
||||
eventId: const Uuid().v4(),
|
||||
type: type,
|
||||
level: level,
|
||||
name: eventName,
|
||||
properties: properties,
|
||||
properties: {...deviceProps, ...?properties},
|
||||
timestamp: DateTime.now(),
|
||||
userId: _userId,
|
||||
sessionId: _sessionManager.currentSessionId,
|
||||
installId: _installId,
|
||||
deviceContextId: _deviceContext!.androidId,
|
||||
deviceContextId: _deviceContext?.androidId ?? '',
|
||||
);
|
||||
|
||||
_storage.enqueueEvent(event);
|
||||
|
|
|
|||
Loading…
Reference in New Issue