react-native-netmera 2.1.0-beta02 → 2.1.0-beta03

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -595,6 +595,8 @@ export default function App() {
595
595
  }
596
596
  ```
597
597
 
598
+ > **Note:** Use a single `NetmeraAnalyticProvider` per application. The current screen name is stored in a module-level singleton — mounting multiple providers simultaneously will cause them to overwrite each other's screen state.
599
+
598
600
  ### Manual action tracking with `Netmera.trackAction`
599
601
 
600
602
  For components that do not fire standard `onPress` or `onValueChange` events (e.g. third-party dropdowns, custom pickers, gesture-only views), call `Netmera.trackAction` to record the interaction manually.
@@ -617,7 +619,7 @@ When a tap is detected, Netmera resolves an identifier for the tapped component
617
619
  1. **`accessibilityLabel`** — the preferred identifier; human-readable and stable.
618
620
  2. **`testID`** — used when `accessibilityLabel` is absent.
619
621
  3. **`placeholder`** — for `TextInput` components with no label or testID.
620
- 4. **Child text content** — the text of the first `<Text>` descendant, trimmed to 50 characters.
622
+ 4. **Child text content** — the text of the first `<Text>` descendant.
621
623
 
622
624
  If none of the above resolves to a non-empty string the tap is not recorded.
623
625
 
@@ -5,11 +5,11 @@
5
5
  */
6
6
 
7
7
  import React, { useEffect, useRef, useState } from 'react';
8
- import { NativeEventEmitter, NativeModules, StyleSheet, View } from 'react-native';
8
+ import { NativeModules, StyleSheet, View } from 'react-native';
9
+ import { netmeraRCTEventEmitter } from "./utils/RNNetmera.js";
9
10
  import { useNavigationTracking } from "./autotracking/useNavigationTracking.js";
10
11
  import { useTapTracking } from "./autotracking/useTapTracking.js";
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const _emitter = new NativeEventEmitter(NativeModules.RNNetmeraRCTEventEmitter);
13
13
  /**
14
14
  * Wraps your app to enable automatic screen tracking and tap tracking.
15
15
  * Place it outside your NavigationContainer (or Static Navigation component).
@@ -27,8 +27,10 @@ export function NetmeraAnalyticProvider({
27
27
  }
28
28
  appliedConfigRef.current = incomingConfig;
29
29
  setConfig(incomingConfig);
30
- console.log('[NMAutotrack] screen tracking', incomingConfig.isScreenFlowEnabled ? 'enabled' : 'disabled');
31
- console.log('[NMAutotrack] input action tracking', incomingConfig.isInputActionEnabled ? `enabled ${incomingConfig.shouldCollectValues ? 'with' : 'without'} collection values` : 'disabled');
30
+ if (__DEV__) {
31
+ console.log('[NMAutotrack] screen tracking', incomingConfig.isScreenFlowEnabled ? 'enabled' : 'disabled');
32
+ console.log('[NMAutotrack] input action tracking', incomingConfig.isInputActionEnabled ? `enabled ${incomingConfig.shouldCollectValues ? 'with' : 'without'} collection values` : 'disabled');
33
+ }
32
34
  };
33
35
  useEffect(() => {
34
36
  NativeModules.RNNetmera?.getAutoTrackConfig?.()?.then(fetchedConfig => {
@@ -38,7 +40,7 @@ export function NetmeraAnalyticProvider({
38
40
  })?.catch(_err => {});
39
41
  }, []);
40
42
  useEffect(() => {
41
- const subscription = _emitter.addListener('onAutoTrackConfigUpdate', updatedConfig => {
43
+ const subscription = netmeraRCTEventEmitter.addListener('onAutoTrackConfigUpdate', updatedConfig => {
42
44
  if (updatedConfig) {
43
45
  applyConfig(updatedConfig);
44
46
  }
@@ -58,8 +60,8 @@ export function NetmeraAnalyticProvider({
58
60
  } = useTapTracking(inputActionEnabled, shouldCollectValues);
59
61
  return /*#__PURE__*/_jsx(View, {
60
62
  style: styles.container,
61
- onTouchStart: onTouchStart,
62
- onTouchEnd: onTouchEnd,
63
+ onTouchStart: inputActionEnabled ? onTouchStart : undefined,
64
+ onTouchEnd: inputActionEnabled ? onTouchEnd : undefined,
63
65
  children: children
64
66
  });
65
67
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","NativeEventEmitter","NativeModules","StyleSheet","View","useNavigationTracking","useTapTracking","jsx","_jsx","_emitter","RNNetmeraRCTEventEmitter","NetmeraAnalyticProvider","children","navigationRef","config","setConfig","appliedConfigRef","applyConfig","incomingConfig","currentConfig","current","isScreenFlowEnabled","isInputActionEnabled","shouldCollectValues","console","log","RNNetmera","getAutoTrackConfig","then","fetchedConfig","catch","_err","subscription","addListener","updatedConfig","remove","screenFlowEnabled","inputActionEnabled","onTouchStart","onTouchEnd","style","styles","container","create","flex"],"sourceRoot":"../../src","sources":["NetmeraAnalyticProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","NativeModules","StyleSheet","View","netmeraRCTEventEmitter","useNavigationTracking","useTapTracking","jsx","_jsx","NetmeraAnalyticProvider","children","navigationRef","config","setConfig","appliedConfigRef","applyConfig","incomingConfig","currentConfig","current","isScreenFlowEnabled","isInputActionEnabled","shouldCollectValues","__DEV__","console","log","RNNetmera","getAutoTrackConfig","then","fetchedConfig","catch","_err","subscription","addListener","updatedConfig","remove","screenFlowEnabled","inputActionEnabled","onTouchStart","onTouchEnd","style","styles","container","undefined","create","flex"],"sourceRoot":"../../src","sources":["NetmeraAnalyticProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,7 @@ function isNavContainerRef(value) {
26
26
  */
27
27
  export function useNavigationTracking(navigationRef, enabled, screenLogEnabled) {
28
28
  const screenLogEnabledRef = useRef(screenLogEnabled);
29
+ const lastEmittedRouteRef = useRef(null);
29
30
  useEffect(() => {
30
31
  screenLogEnabledRef.current = screenLogEnabled;
31
32
  }, [screenLogEnabled]);
@@ -37,7 +38,8 @@ export function useNavigationTracking(navigationRef, enabled, screenLogEnabled)
37
38
  const handleChange = () => {
38
39
  try {
39
40
  const route = navRef.getCurrentRoute();
40
- if (route?.name) {
41
+ if (route?.name && route.name !== lastEmittedRouteRef.current) {
42
+ lastEmittedRouteRef.current = route.name;
41
43
  setCurrentScreen(route.name);
42
44
  if (screenLogEnabledRef.current) {
43
45
  RNNetmera.trackView(route.name);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","setCurrentScreen","RNNetmera","isNavContainerRef","value","addListener","getCurrentRoute","isReady","useNavigationTracking","navigationRef","enabled","screenLogEnabled","screenLogEnabledRef","current","navRef","handleChange","route","name","trackView","_","unsubState","unsubReady","undefined"],"sourceRoot":"../../../src","sources":["autotracking/useNavigationTracking.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,SAASC,SAAS,QAAQ,uBAAoB;;AAE9C;AACA,SAASC,iBAAiBA,CAACC,KAAU,EAAW;EAC9C,OACEA,KAAK,IAAI,IAAI,IACb,OAAOA,KAAK,CAACC,WAAW,KAAK,UAAU,IACvC,OAAOD,KAAK,CAACE,eAAe,KAAK,UAAU,IAC3C,OAAOF,KAAK,CAACG,OAAO,KAAK,UAAU;AAEvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,aAA+C,EAC/CC,OAAgB,EAChBC,gBAAyB,EACnB;EACN,MAAMC,mBAAmB,GAAGZ,MAAM,CAACW,gBAAgB,CAAC;EAEpDZ,SAAS,CAAC,MAAM;IACda,mBAAmB,CAACC,OAAO,GAAGF,gBAAgB;EAChD,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtBZ,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,OAAO,IAAI,CAACP,iBAAiB,CAACM,aAAa,EAAEI,OAAO,CAAC,EAAE;MAC1D;IACF;IAEA,MAAMC,MAAM,GAAGL,aAAa,CAAEI,OAAO;IAErC,MAAME,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAI;QACF,MAAMC,KAAK,GAAGF,MAAM,CAACR,eAAe,CAAC,CAAC;QACtC,IAAIU,KAAK,EAAEC,IAAI,EAAE;UACfhB,gBAAgB,CAACe,KAAK,CAACC,IAAI,CAAC;UAC5B,IAAIL,mBAAmB,CAACC,OAAO,EAAE;YAC/BX,SAAS,CAACgB,SAAS,CAACF,KAAK,CAACC,IAAI,CAAC;UACjC;QACF;MACF,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;IACf,CAAC;IAED,MAAMC,UAAU,GAAGN,MAAM,CAACT,WAAW,CAAC,OAAO,EAAEU,YAAY,CAAC;;IAE5D;IACA;IACA,IAAIM,UAAoC;IACxC,IAAIP,MAAM,CAACP,OAAO,CAAC,CAAC,EAAE;MACpBQ,YAAY,CAAC,CAAC;IAChB,CAAC,MAAM;MACLM,UAAU,GAAGP,MAAM,CAACT,WAAW,CAAC,OAAO,EAAE,MAAM;QAC7CU,YAAY,CAAC,CAAC;QACdM,UAAU,GAAG,CAAC;QACdA,UAAU,GAAGC,SAAS;MACxB,CAAC,CAAC;IACJ;IAEA,OAAO,MAAM;MACXF,UAAU,GAAG,CAAC;MACdC,UAAU,GAAG,CAAC;IAChB,CAAC;EACH,CAAC,EAAE,CAACX,OAAO,EAAED,aAAa,CAAC,CAAC;AAC9B","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","setCurrentScreen","RNNetmera","isNavContainerRef","value","addListener","getCurrentRoute","isReady","useNavigationTracking","navigationRef","enabled","screenLogEnabled","screenLogEnabledRef","lastEmittedRouteRef","current","navRef","handleChange","route","name","trackView","_","unsubState","unsubReady","undefined"],"sourceRoot":"../../../src","sources":["autotracking/useNavigationTracking.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,SAASC,SAAS,QAAQ,uBAAoB;;AAE9C;AACA,SAASC,iBAAiBA,CAACC,KAAU,EAAW;EAC9C,OACEA,KAAK,IAAI,IAAI,IACb,OAAOA,KAAK,CAACC,WAAW,KAAK,UAAU,IACvC,OAAOD,KAAK,CAACE,eAAe,KAAK,UAAU,IAC3C,OAAOF,KAAK,CAACG,OAAO,KAAK,UAAU;AAEvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,aAA+C,EAC/CC,OAAgB,EAChBC,gBAAyB,EACnB;EACN,MAAMC,mBAAmB,GAAGZ,MAAM,CAACW,gBAAgB,CAAC;EACpD,MAAME,mBAAmB,GAAGb,MAAM,CAAgB,IAAI,CAAC;EAEvDD,SAAS,CAAC,MAAM;IACda,mBAAmB,CAACE,OAAO,GAAGH,gBAAgB;EAChD,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtBZ,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,OAAO,IAAI,CAACP,iBAAiB,CAACM,aAAa,EAAEK,OAAO,CAAC,EAAE;MAC1D;IACF;IAEA,MAAMC,MAAM,GAAGN,aAAa,CAAEK,OAAO;IAErC,MAAME,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAI;QACF,MAAMC,KAAK,GAAGF,MAAM,CAACT,eAAe,CAAC,CAAC;QACtC,IAAIW,KAAK,EAAEC,IAAI,IAAID,KAAK,CAACC,IAAI,KAAKL,mBAAmB,CAACC,OAAO,EAAE;UAC7DD,mBAAmB,CAACC,OAAO,GAAGG,KAAK,CAACC,IAAI;UACxCjB,gBAAgB,CAACgB,KAAK,CAACC,IAAI,CAAC;UAC5B,IAAIN,mBAAmB,CAACE,OAAO,EAAE;YAC/BZ,SAAS,CAACiB,SAAS,CAACF,KAAK,CAACC,IAAI,CAAC;UACjC;QACF;MACF,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;IACf,CAAC;IAED,MAAMC,UAAU,GAAGN,MAAM,CAACV,WAAW,CAAC,OAAO,EAAEW,YAAY,CAAC;;IAE5D;IACA;IACA,IAAIM,UAAoC;IACxC,IAAIP,MAAM,CAACR,OAAO,CAAC,CAAC,EAAE;MACpBS,YAAY,CAAC,CAAC;IAChB,CAAC,MAAM;MACLM,UAAU,GAAGP,MAAM,CAACV,WAAW,CAAC,OAAO,EAAE,MAAM;QAC7CW,YAAY,CAAC,CAAC;QACdM,UAAU,GAAG,CAAC;QACdA,UAAU,GAAGC,SAAS;MACxB,CAAC,CAAC;IACJ;IAEA,OAAO,MAAM;MACXF,UAAU,GAAG,CAAC;MACdC,UAAU,GAAG,CAAC;IAChB,CAAC;EACH,CAAC,EAAE,CAACZ,OAAO,EAAED,aAAa,CAAC,CAAC;AAC9B","ignoreList":[]}
@@ -27,7 +27,7 @@ function isSwitch(props) {
27
27
  // Tapping them only opens the picker UI — the real select event fires separately.
28
28
  function isInsideSelectionControl(fiber) {
29
29
  let node = fiber?.return;
30
- for (let d = 0; d < 5 && node; d++, node = node.return) {
30
+ for (let d = 0; d < 3 && node; d++, node = node.return) {
31
31
  if (node?.memoizedProps?.onSelect != null) {
32
32
  return true;
33
33
  }
@@ -190,7 +190,8 @@ export function useTapTracking(enabled, shouldCollectValues) {
190
190
  touchStartRef.current = {
191
191
  x: e.nativeEvent.pageX,
192
192
  y: e.nativeEvent.pageY,
193
- switchValue
193
+ switchValue,
194
+ isSwitch: switchValue !== undefined
194
195
  };
195
196
  }, []);
196
197
  const onTouchEnd = useCallback(e => {
@@ -203,7 +204,8 @@ export function useTapTracking(enabled, shouldCollectValues) {
203
204
  }
204
205
  const dx = Math.abs(e.nativeEvent.pageX - start.x);
205
206
  const dy = Math.abs(e.nativeEvent.pageY - start.y);
206
- if (dx > TAP_THRESHOLD || dy > TAP_THRESHOLD) {
207
+ const isScrollGesture = dx > TAP_THRESHOLD || dy > TAP_THRESHOLD;
208
+ if (isScrollGesture && !start.isSwitch) {
207
209
  return;
208
210
  }
209
211
  try {
@@ -265,7 +267,7 @@ export function useTapTracking(enabled, shouldCollectValues) {
265
267
  newValue = preTapValue !== undefined ? !preTapValue : !interactiveNode.memoizedProps.value;
266
268
  }
267
269
  switchLastLoggedRef.current.set(identifier, newValue);
268
- const switchPath = buildPath(screen, listType, identifier, indexSuffix, newValue);
270
+ const switchPath = buildPath(screen, listType, identifier, indexSuffix, shouldCollectValuesRef.current ? newValue : undefined);
269
271
  RNNetmera.trackAction(switchPath);
270
272
  } else {
271
273
  const tapPath = buildPath(screen, listType, identifier, indexSuffix);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","getCurrentScreen","RNNetmera","MAX_FIBER_DEPTH","MAX_TEXT_DEPTH","TAP_THRESHOLD","isInteractive","props","onPress","onClick","onValueChange","isSwitch","value","isInsideSelectionControl","fiber","node","return","d","memoizedProps","onSelect","textFromChildren","children","depth","undefined","t","trim","length","String","Array","isArray","child","resolveIdentifier","accessibilityLabel","testID","placeholder","resolveListIndex","startFiber","p","index","cellKey","onUnmount","flatIndex","stateNode","sections","up","i","upProps","endsWith","idx","si","count","data","type","sectionIndex","itemIndex","buildPath","screen","listType","identifier","indexSuffix","switchValue","screenName","base","useTapTracking","enabled","shouldCollectValues","enabledRef","shouldCollectValuesRef","touchStartRef","lastScreenRef","switchLastLoggedRef","Map","current","clear","onTouchStart","e","_targetInst","_","x","nativeEvent","pageX","y","pageY","onTouchEnd","start","dx","Math","abs","dy","interactiveNode","identifierNode","isSwitchNode","listIndex","lastLogged","get","newValue","preTapValue","set","switchPath","trackAction","tapPath"],"sourceRoot":"../../../src","sources":["autotracking/useTapTracking.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","getCurrentScreen","RNNetmera","MAX_FIBER_DEPTH","MAX_TEXT_DEPTH","TAP_THRESHOLD","isInteractive","props","onPress","onClick","onValueChange","isSwitch","value","isInsideSelectionControl","fiber","node","return","d","memoizedProps","onSelect","textFromChildren","children","depth","undefined","t","trim","length","String","Array","isArray","child","resolveIdentifier","accessibilityLabel","testID","placeholder","resolveListIndex","startFiber","p","index","cellKey","onUnmount","flatIndex","stateNode","sections","up","i","upProps","endsWith","idx","si","count","data","type","sectionIndex","itemIndex","buildPath","screen","listType","identifier","indexSuffix","switchValue","screenName","base","useTapTracking","enabled","shouldCollectValues","enabledRef","shouldCollectValuesRef","touchStartRef","lastScreenRef","switchLastLoggedRef","Map","current","clear","onTouchStart","e","_targetInst","_","x","nativeEvent","pageX","y","pageY","onTouchEnd","start","dx","Math","abs","dy","isScrollGesture","interactiveNode","identifierNode","isSwitchNode","listIndex","lastLogged","get","newValue","preTapValue","set","switchPath","trackAction","tapPath"],"sourceRoot":"../../../src","sources":["autotracking/useTapTracking.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NetmeraAnalyticProvider.d.ts","sourceRoot":"","sources":["../../../src/NetmeraAnalyticProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAY3D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACtC;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,aAAa,GACd,EAAE,4BAA4B,2CA4E9B"}
1
+ {"version":3,"file":"NetmeraAnalyticProvider.d.ts","sourceRoot":"","sources":["../../../src/NetmeraAnalyticProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACtC;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,aAAa,GACd,EAAE,4BAA4B,2CA8E9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationTracking.d.ts","sourceRoot":"","sources":["../../../../src/autotracking/useNavigationTracking.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,GACxB,IAAI,CA8CN"}
1
+ {"version":3,"file":"useNavigationTracking.d.ts","sourceRoot":"","sources":["../../../../src/autotracking/useNavigationTracking.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,GACxB,IAAI,CAgDN"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTapTracking.d.ts","sourceRoot":"","sources":["../../../../src/autotracking/useTapTracking.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AA4K1D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO;sBA6BtC,qBAAqB;oBAsBvB,qBAAqB;EA6GzD"}
1
+ {"version":3,"file":"useTapTracking.d.ts","sourceRoot":"","sources":["../../../../src/autotracking/useTapTracking.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AA4K1D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO;sBA8BtC,qBAAqB;oBAuBvB,qBAAqB;EA8GzD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-netmera",
3
- "version": "2.1.0-beta02",
3
+ "version": "2.1.0-beta03",
4
4
  "description": "Netmera React Native SDK",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
@@ -3,17 +3,11 @@
3
3
  */
4
4
 
5
5
  import React, { useEffect, useRef, useState } from 'react';
6
- import {
7
- NativeEventEmitter,
8
- NativeModules,
9
- StyleSheet,
10
- View,
11
- } from 'react-native';
6
+ import { NativeModules, StyleSheet, View } from 'react-native';
7
+ import { netmeraRCTEventEmitter } from './utils/RNNetmera';
12
8
  import { useNavigationTracking } from './autotracking/useNavigationTracking';
13
9
  import { useTapTracking } from './autotracking/useTapTracking';
14
10
 
15
- const _emitter = new NativeEventEmitter(NativeModules.RNNetmeraRCTEventEmitter);
16
-
17
11
  export interface NetmeraAnalyticProviderProps {
18
12
  children: React.ReactNode;
19
13
  /**
@@ -69,16 +63,18 @@ export function NetmeraAnalyticProvider({
69
63
  }
70
64
  appliedConfigRef.current = incomingConfig;
71
65
  setConfig(incomingConfig);
72
- console.log(
73
- '[NMAutotrack] screen tracking',
74
- incomingConfig.isScreenFlowEnabled ? 'enabled' : 'disabled'
75
- );
76
- console.log(
77
- '[NMAutotrack] input action tracking',
78
- incomingConfig.isInputActionEnabled
79
- ? `enabled ${incomingConfig.shouldCollectValues ? 'with' : 'without'} collection values`
80
- : 'disabled'
81
- );
66
+ if (__DEV__) {
67
+ console.log(
68
+ '[NMAutotrack] screen tracking',
69
+ incomingConfig.isScreenFlowEnabled ? 'enabled' : 'disabled'
70
+ );
71
+ console.log(
72
+ '[NMAutotrack] input action tracking',
73
+ incomingConfig.isInputActionEnabled
74
+ ? `enabled ${incomingConfig.shouldCollectValues ? 'with' : 'without'} collection values`
75
+ : 'disabled'
76
+ );
77
+ }
82
78
  };
83
79
 
84
80
  useEffect(() => {
@@ -92,7 +88,7 @@ export function NetmeraAnalyticProvider({
92
88
  }, []);
93
89
 
94
90
  useEffect(() => {
95
- const subscription = _emitter.addListener(
91
+ const subscription = netmeraRCTEventEmitter.addListener(
96
92
  'onAutoTrackConfigUpdate',
97
93
  (updatedConfig: AutoTrackConfig) => {
98
94
  if (updatedConfig) {
@@ -122,8 +118,8 @@ export function NetmeraAnalyticProvider({
122
118
  return (
123
119
  <View
124
120
  style={styles.container}
125
- onTouchStart={onTouchStart}
126
- onTouchEnd={onTouchEnd}
121
+ onTouchStart={inputActionEnabled ? onTouchStart : undefined}
122
+ onTouchEnd={inputActionEnabled ? onTouchEnd : undefined}
127
123
  >
128
124
  {children}
129
125
  </View>
@@ -34,6 +34,7 @@ export function useNavigationTracking(
34
34
  screenLogEnabled: boolean
35
35
  ): void {
36
36
  const screenLogEnabledRef = useRef(screenLogEnabled);
37
+ const lastEmittedRouteRef = useRef<string | null>(null);
37
38
 
38
39
  useEffect(() => {
39
40
  screenLogEnabledRef.current = screenLogEnabled;
@@ -49,7 +50,8 @@ export function useNavigationTracking(
49
50
  const handleChange = () => {
50
51
  try {
51
52
  const route = navRef.getCurrentRoute();
52
- if (route?.name) {
53
+ if (route?.name && route.name !== lastEmittedRouteRef.current) {
54
+ lastEmittedRouteRef.current = route.name;
53
55
  setCurrentScreen(route.name);
54
56
  if (screenLogEnabledRef.current) {
55
57
  RNNetmera.trackView(route.name);
@@ -31,7 +31,7 @@ function isSwitch(props: any): boolean {
31
31
  // Tapping them only opens the picker UI — the real select event fires separately.
32
32
  function isInsideSelectionControl(fiber: any): boolean {
33
33
  let node: any = fiber?.return;
34
- for (let d = 0; d < 5 && node; d++, node = node.return) {
34
+ for (let d = 0; d < 3 && node; d++, node = node.return) {
35
35
  if (node?.memoizedProps?.onSelect != null) {
36
36
  return true;
37
37
  }
@@ -182,6 +182,7 @@ export function useTapTracking(enabled: boolean, shouldCollectValues: boolean) {
182
182
  x: number;
183
183
  y: number;
184
184
  switchValue?: boolean;
185
+ isSwitch?: boolean;
185
186
  } | null>(null);
186
187
  const lastScreenRef = useRef<string | null | undefined>(undefined);
187
188
 
@@ -223,6 +224,7 @@ export function useTapTracking(enabled: boolean, shouldCollectValues: boolean) {
223
224
  x: e.nativeEvent.pageX,
224
225
  y: e.nativeEvent.pageY,
225
226
  switchValue,
227
+ isSwitch: switchValue !== undefined,
226
228
  };
227
229
  }, []);
228
230
 
@@ -236,7 +238,8 @@ export function useTapTracking(enabled: boolean, shouldCollectValues: boolean) {
236
238
  }
237
239
  const dx = Math.abs(e.nativeEvent.pageX - start.x);
238
240
  const dy = Math.abs(e.nativeEvent.pageY - start.y);
239
- if (dx > TAP_THRESHOLD || dy > TAP_THRESHOLD) {
241
+ const isScrollGesture = dx > TAP_THRESHOLD || dy > TAP_THRESHOLD;
242
+ if (isScrollGesture && !start.isSwitch) {
240
243
  return;
241
244
  }
242
245
 
@@ -322,7 +325,7 @@ export function useTapTracking(enabled: boolean, shouldCollectValues: boolean) {
322
325
  listType,
323
326
  identifier,
324
327
  indexSuffix,
325
- newValue
328
+ shouldCollectValuesRef.current ? newValue : undefined
326
329
  );
327
330
  RNNetmera.trackAction(switchPath);
328
331
  } else {