h5ClickHandler static method

void h5ClickHandler(
  1. String eventData
)

Implementation

static void h5ClickHandler(String eventData) {
  if (eventData.isNotEmpty) {
    final Map<String, dynamic> eventMap = json.decode(eventData);
    final dataArr = eventMap['data'] as List?;
    if (dataArr == null || dataArr.isEmpty) {
      return;
    }

    final dataInfo = dataArr.first as Map<String, dynamic>?;
    if (dataInfo == null) {
      return;
    }

    var type = dataInfo['#type'] as String?;
    final eventName = dataInfo['#event_name'] as String?;
    final time = dataInfo['#time'] as String?;
    var properties = dataInfo['properties'] as Map<String, dynamic>;

    String? extraID;
    if (type == TDEventTypeTrack) {
      extraID = dataInfo['#first_check_id'] as String?;
      if (extraID != null) {
        type = "track_first";
      }
    } else {
      extraID = dataInfo['#event_id'] as String?;
    }

    properties.remove('#account_id');
    properties.remove('#distinct_id');
    properties.remove('#device_id');
    properties.remove('#lib');
    properties.remove('#lib_version');
    properties.remove('#screen_height');
    properties.remove('#screen_width');
    h5track(eventName, extraID, properties, type, time);
  }
}