trackElementClick method

void trackElementClick(
  1. Element gestureElement,
  2. Element pageElement,
  3. SAPageInfo pageInfo
)

Implementation

void trackElementClick(Element gestureElement, Element pageElement, SAPageInfo pageInfo) {
  if (!SAAutoTrackManager.instance.elementClickEnabled) {
    return;
  }
  Element element = SAElementPath.createFrom(element: gestureElement, pageElement: pageElement).element;
  bool isIgnore = false;
  Key? key = element.widget.key;
  Map<String, dynamic> properties = Map();
  if (key is SAElementKey) {
    isIgnore = key.isIgnore;
    properties.addAll(key.properties ?? {});
  }
  if (isIgnore) {
    return;
  }
  properties.addAll(_getPropertiesFromPageInfo(pageInfo));
  properties[r'$element_content'] = SAElementUtil.findTexts(element).join('-');
  properties[r'$element_type'] = element.widget.runtimeType.toString();
  properties[r'$lib_method'] = 'autoTrack';
  SensorsAnalyticsFlutterPlugin.track(kIsWeb ? r'$WebClick' : r'$AppClick', properties);
}