33 lines
879 B
Dart
33 lines
879 B
Dart
import 'dart:convert';
|
|
|
|
import 'package:analytics_sdk/const/event_type.dart';
|
|
import 'package:analytics_sdk/manager/sdk_context.dart';
|
|
|
|
/// SDK 初始化快照事件。
|
|
///
|
|
/// `sdk_init` 不携带 `device_env`,硬件与环境快照字段直接写入 payload。
|
|
class SdkInitEvent {
|
|
final String event = EventType.sdkInit.event;
|
|
late final String eventId;
|
|
|
|
final Map<String, dynamic> payload;
|
|
|
|
late final Map<String, dynamic> _commonFields;
|
|
|
|
SdkInitEvent({required Map<String, dynamic> payload})
|
|
: payload = Map<String, dynamic>.from(payload) {
|
|
_commonFields = SdkContext.generateCommonFields(event);
|
|
eventId = SdkContext.generateEventIdFromCommonFields(_commonFields, [
|
|
jsonEncode(this.payload),
|
|
]);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
..._commonFields,
|
|
'event_id': eventId,
|
|
'payload': payload,
|
|
};
|
|
}
|
|
}
|