AdEvent.fromMap constructor
从Map创建事件对象
Implementation
factory AdEvent.fromMap(Map<String, dynamic> map) {
final action = map['action'] as String?;
final posId = map['posId'] as String?;
if (action == null || posId == null) {
throw ArgumentError('Invalid ad event payload: $map');
}
return AdEvent(
action: action,
posId: posId,
timestamp: _parseTimestamp(map['timestamp']),
extra: extractEventExtra(map),
);
}