react-native-quicktracking-analytics-module 2.0.2 → 2.1.0

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.
Files changed (48) hide show
  1. package/LICENSE +1 -1
  2. package/QuicktrackingAnalyticsModule.podspec +29 -0
  3. package/README.md +211 -151
  4. package/android/build.gradle +40 -101
  5. package/android/gradle.properties +5 -5
  6. package/android/src/main/AndroidManifest.xml +1 -2
  7. package/android/src/main/AndroidManifestNew.xml +2 -0
  8. package/android/src/main/java/com/quicktrackinganalyticsmodule/QTSDKManager.kt +112 -0
  9. package/android/src/main/java/com/quicktrackinganalyticsmodule/QuicktrackingAnalyticsModuleModule.kt +259 -0
  10. package/android/src/main/java/com/quicktrackinganalyticsmodule/QuicktrackingAnalyticsModulePackage.kt +17 -0
  11. package/android/src/main/java/com/quicktrackinganalyticsmodule/property/QTViewProperties.kt +84 -0
  12. package/android/src/main/java/com/quicktrackinganalyticsmodule/utils/QTLog.kt +119 -0
  13. package/android/src/main/java/com/quicktrackinganalyticsmodule/utils/RNPropertyManager.kt +35 -0
  14. package/android/src/main/java/com/quicktrackinganalyticsmodule/utils/RNTouchTargetHelper.kt +162 -0
  15. package/android/src/main/java/com/quicktrackinganalyticsmodule/utils/RNUtils.kt +170 -0
  16. package/android/src/main/java/com/quicktrackinganalyticsmodule/utils/RNViewUtils.kt +233 -0
  17. package/ios/QuicktrackingAnalyticsModule.h +1 -4
  18. package/ios/{QuicktrackingAnalyticsModule.m → QuicktrackingAnalyticsModule.mm} +144 -110
  19. package/lib/commonjs/hook.js +564 -0
  20. package/lib/commonjs/hook.js.map +1 -0
  21. package/lib/commonjs/index.js +276 -166
  22. package/lib/commonjs/index.js.map +1 -0
  23. package/lib/commonjs/package.json +1 -0
  24. package/lib/module/hook.js +564 -0
  25. package/lib/module/hook.js.map +1 -0
  26. package/lib/module/index.js +253 -164
  27. package/lib/module/index.js.map +1 -0
  28. package/lib/typescript/index.d.ts +120 -79
  29. package/lib/typescript/index.d.ts.map +1 -0
  30. package/package.json +83 -67
  31. package/src/hook.js +3 -3
  32. package/src/index.tsx +266 -169
  33. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  34. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  35. package/android/gradlew +0 -234
  36. package/android/gradlew.bat +0 -89
  37. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QTSDKManager.java +0 -93
  38. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModule.java +0 -242
  39. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModulePackage.java +0 -28
  40. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/property/QTViewProperties.java +0 -48
  41. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/QTLog.java +0 -122
  42. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNPropertyManager.java +0 -29
  43. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNTouchTargetHelper.java +0 -139
  44. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNUtils.java +0 -188
  45. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNViewUtils.java +0 -148
  46. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.pbxproj +0 -282
  47. package/ios/QuicktrackingAnalyticsModule.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  48. package/react-native-quicktracking-analytics-module.podspec +0 -37
@@ -1,81 +1,122 @@
1
- type GlobalProperty = Record<string, string | number>;
2
- type EventParams = Record<string, string | number>;
3
- /**
4
- *引入 QuickTracking SDK
5
- */
6
- export declare class QT {
7
- /**
8
- * 页面浏览事件埋点-打开页面
9
- * @param pageName 页面编码
10
- */
11
- static onPageStart(pageName: string): void;
12
- /**
13
- * 页面浏览事件埋点-离开页面
14
- * @param pageName 页面编码
15
- */
16
- static onPageEnd(pageName: string): void;
17
- /**
18
- * 上传页面属性
19
- * @param pageName 页面编码
20
- * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
21
- */
22
- static uploadPageProperties(pageName: string, params: EventParams): void;
23
- /**
24
- * 自定义事件埋点
25
- * @param eventId 当前统计的事件编码
26
- * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
27
- * @param pageName 当前统计事件的页面编码
28
- */
29
- static sendEvent(eventId: string, params?: EventParams, pageName?: string): void;
30
- /**
31
- * 桥接事件埋点
32
- * @param data H5转发事件的日志体
33
- */
34
- static sendEventForH5(data: string): void;
35
- /**
36
- * 注册一个全局事件属性
37
- * @param property 要注册的全局属性
38
- * @description
39
- ** 注册全局属性后,后续触发的所有事件都将自动包含这些属性;
40
- ** 且这些属性及属性值存入缓存,APP退出后清除。
41
- ** 在分析数据时,可根据此属性进行查看和筛选。
42
- */
43
- static registerGlobalProperty(gp: GlobalProperty): void;
44
- /**
45
- * 删除一个全局事件属性
46
- * @param propertyName 要删除的全局事件属性名,只支持大小写字母、数字及下划线
47
- */
48
- static unregisterGlobalProperty(propertyName: string): void;
49
- /**
50
- * 根据Key获取单个全局属性
51
- * @param propertyName 属性名,只支持大小写字母、数字及下划线!
52
- */
53
- static getGlobalProperty(propertyName: string): Promise<any>;
54
- /**
55
- * 获取所有的全局事件属性, 返回包含所有全局事件属性的JSONObject
56
- */
57
- static getGlobalProperties(): Promise<any>;
58
- /**
59
- * 清空全部全局事件属性。
60
- */
61
- static clearGlobalProperties(): void;
62
- /**
63
- * 账号登录时调用此接口,用于统计应用自身的账号
64
- * @param ID 用户账号ID,长度小于64字节
65
- * @param provider
66
- */
67
- static profileSignIn(ID: string, Provider?: string): void;
68
- /**
69
- * 账号登出时需调用此接口,调用之后不再发送账号相关内容。
70
- */
71
- static profileSignOff(): void;
72
- /**
73
- * SDK正式初始化
74
- * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
75
- * @param channel 下载渠道
76
- * @description 请务必在用户同意隐私政策后,再初始化SDK,务必调用。
77
- */
78
- static init(appKey: string, channel: string): void;
79
- }
1
+ type GlobalProperty = Record<string, string | number | string[]>;
2
+ type EventParams = Record<string, string | number | string[]>;
3
+ /**
4
+ * SDK正式初始化
5
+ * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
6
+ * @param channel 下载渠道
7
+ * @description 请务必在用户同意隐私政策后,再初始化SDK,务必调用。
8
+ * !!!
9
+ * 1. SDK的初始化需要在用户同意隐私政策后,再初始化SDK,务必调用。
10
+ * 2. 且必须在主线程中调用,iOS端强依赖主线程, Android端建议在主线程中初始化SDK,否则可能会导致数据不准确。
11
+ * 3. 调用初始化SDK能力之前,需要调用 setTrackDomain 方法设置收数域名。
12
+ */
13
+ export declare function init(appKey: string, channel: string): void;
14
+ /**
15
+ * SDK预初始化方法
16
+ * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
17
+ * @param channel 下载渠道
18
+ * @description 仅Android端需要预初始化方法
19
+ * 1. 预初始化方法可以在用户同意隐私政策之前调用。
20
+ * 2. 请在主线程中完成预初始化方法的调用
21
+ */
22
+ export declare function preInit(appKey: string, channel: string): void;
23
+ /**
24
+ * 设置SDK的收数域名
25
+ * @param mainTrackDomain SDK的主收数域名,例如:https://log.quicktracking.cn
26
+ * @param subTrackDomain SDK的副收数域名,例如:https://log.quicktracking.cn
27
+ * @description 设置SDK的收数域名, 调用SDK init 初始化API之前需要先设置收数域名。
28
+ */
29
+ export declare function setTrackDomain(mainTrackDomain: string, subTrackDomain: string): void;
30
+ /**
31
+ * SDK开启日志
32
+ * @param enable 日志开关
33
+ * @description SDK日志开关
34
+ */
35
+ export declare function enableLog(enable: boolean): void;
36
+ /**
37
+ * 页面浏览事件埋点-打开页面
38
+ * @param pageName 页面编码
39
+ */
40
+ export declare function onPageStart(pageName: string): void;
41
+ /**
42
+ * 页面浏览事件埋点-离开页面
43
+ * @param pageName 页面编码
44
+ */
45
+ export declare function onPageEnd(pageName: string): void;
46
+ /**
47
+ * 上传页面属性
48
+ * @param pageName 页面编码
49
+ * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
50
+ */
51
+ export declare function uploadPageProperties(pageName: string, params: EventParams): void;
52
+ /**
53
+ * 自定义事件埋点
54
+ * @param eventId 当前统计的事件编码
55
+ * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
56
+ * @param pageName 当前统计事件的页面编码
57
+ */
58
+ export declare function sendEvent(eventId: string, params?: EventParams, pageName?: string): void;
59
+ /**
60
+ * 桥接事件埋点
61
+ * @param data H5转发事件的日志体
62
+ */
63
+ export declare function sendEventForH5(data: string): void;
64
+ /**
65
+ * 注册一个全局事件属性
66
+ * @param property 要注册的全局属性
67
+ * @description
68
+ * 注册全局属性后,后续触发的所有事件都将自动包含这些属性;
69
+ * 且这些属性及属性值存入缓存,APP退出后清除。
70
+ * 在分析数据时,可根据此属性进行查看和筛选。
71
+ */
72
+ export declare function registerGlobalProperty(gp: GlobalProperty): void;
73
+ /**
74
+ * 删除一个全局事件属性
75
+ * @param propertyName 要删除的全局事件属性名,只支持大小写字母、数字及下划线
76
+ */
77
+ export declare function unregisterGlobalProperty(propertyName: string): void;
78
+ /**
79
+ * 根据Key获取单个全局属性
80
+ * @param propertyName 属性名,只支持大小写字母、数字及下划线!
81
+ */
82
+ export declare const getGlobalProperty: (propertyName: string) => Promise<any>;
83
+ /**
84
+ * 获取所有的全局事件属性, 返回包含所有全局事件属性的JSONObject
85
+ */
86
+ export declare const getGlobalProperties: () => Promise<any>;
87
+ /**
88
+ * 清空全部全局事件属性。
89
+ */
90
+ export declare const clearGlobalProperties: () => void;
91
+ /**
92
+ * 账号登录时调用此接口,用于统计应用自身的账号
93
+ * @param ID 用户账号ID,长度小于64字节
94
+ * @param provider
95
+ */
96
+ export declare const profileSignIn: (ID: string, Provider?: string) => void;
97
+ /**
98
+ * 账号登出时需调用此接口,调用之后不再发送账号相关内容。
99
+ */
100
+ export declare const profileSignOff: () => void;
101
+ /**
102
+ * 设置应用版本
103
+ */
104
+ export declare const setAppVersion: (version: string, versionCode: number) => void;
105
+ /**
106
+ * 关闭SDK
107
+ */
108
+ export declare const disableSDK: () => void;
109
+ /**
110
+ * 开启SDK
111
+ */
112
+ export declare const enableSDK: () => void;
113
+ /**
114
+ * 自定义设备ID
115
+ */
116
+ export declare const setCustomDeviceId: (deviceId: string) => void;
117
+ /**
118
+ * 读取设备ID
119
+ */
120
+ export declare const getDeviceId: () => Promise<any>;
80
121
  export {};
81
122
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AACjE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAK9D;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAMtD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,QAGvB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,QAExC;AAGD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,QAE3C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,QAEzC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,QAEzE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,QA2BlB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,QAkC1C;AAGD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,QAcxD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,QAE5D;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAU,cAAc,MAAM,iBAQ3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,oBAO/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,WAAW,MAAM,SAmB1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAE1B,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,aAAa,MAAM,SAMjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,YAErB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,SAEjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,oBAMvB,CAAC"}
package/package.json CHANGED
@@ -1,54 +1,97 @@
1
1
  {
2
2
  "name": "react-native-quicktracking-analytics-module",
3
- "version": "2.0.2",
4
- "description": "QuickTracking ReactNative SDK",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/index.d.ts",
8
- "react-native": "src/index",
9
- "source": "src/index",
3
+ "version": "2.1.0",
4
+ "description": "QuickTracking ReactNative Analytics SDK",
5
+ "source": "./src/index.tsx",
6
+ "main": "./lib/commonjs/index.js",
7
+ "types": "./lib/typescript/index.d.ts",
8
+ "module": "lib/module/index.js",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./lib/typescript/index.d.ts",
12
+ "default": "./lib/module/index.js"
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
10
16
  "files": [
11
17
  "src",
12
- "lib/commonjs/index.js",
13
- "lib/module/index.js",
14
- "lib/typescript/index.d.ts",
18
+ "lib",
15
19
  "android",
16
20
  "ios",
17
21
  "cpp",
18
- "react-native-quicktracking-analytics-module.podspec",
19
- "!lib/typescript/example",
20
- "!android/build",
22
+ "*.podspec",
23
+ "react-native.config.js",
21
24
  "!ios/build",
25
+ "!android/build",
26
+ "!android/gradle",
27
+ "!android/gradlew",
28
+ "!android/gradlew.bat",
29
+ "!android/local.properties",
22
30
  "!**/__tests__",
23
31
  "!**/__fixtures__",
24
- "!**/__mocks__"
32
+ "!**/__mocks__",
33
+ "!**/.*"
25
34
  ],
26
35
  "scripts": {
27
- "test": "echo \"Error: no test specified\" && exit 1",
28
- "typescript": "tsc --noEmit",
36
+ "example": "yarn workspace react-native-quicktracking-analytics-module-example",
37
+ "test": "jest",
38
+ "typecheck": "tsc",
29
39
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
30
- "prepare": "npx bob build",
40
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
41
+ "prepare": "bob build",
31
42
  "release": "release-it",
32
- "example": "yarn --cwd example",
33
- "bootstrap": "yarn example && yarn && yarn example pods",
34
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
43
+ "build": "yarn clean && bob build"
35
44
  },
36
45
  "keywords": [
37
- "quicktracking",
38
46
  "react-native",
39
47
  "ios",
40
48
  "android"
41
49
  ],
42
- "author": "yuzhao",
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://www.github.com/rn_qt_analytics.git.git"
53
+ },
54
+ "author": "yuzhao <changliang.lcl@alibaba-inc.com> (https://help.aliyun.com/document_detail/2805800.html)",
43
55
  "license": "MIT",
44
- "homepage": "https://www.aliyun.com/product/man?scm=20140722.S_product%40%40%E4%BA%91%E4%BA%A7%E5%93%81%40%40125428._.ID_product%40%40%E4%BA%91%E4%BA%A7%E5%93%81%40%40125428-RL_quicktracking-LOC_main-OR_ser-V_2-P0_1",
56
+ "bugs": {
57
+ "url": "https://www.github.com/rn_qt_analytics.git/issues"
58
+ },
59
+ "homepage": "https://www.github.com/rn_qt_analytics.git#readme",
45
60
  "publishConfig": {
46
61
  "registry": "https://registry.npmjs.org/"
47
62
  },
63
+ "devDependencies": {
64
+ "@commitlint/config-conventional": "^19.6.0",
65
+ "@eslint/compat": "^1.2.7",
66
+ "@eslint/eslintrc": "^3.3.0",
67
+ "@eslint/js": "^9.22.0",
68
+ "@evilmartians/lefthook": "^1.5.0",
69
+ "@react-native/eslint-config": "^0.78.0",
70
+ "@release-it/conventional-changelog": "^9.0.2",
71
+ "@types/jest": "^29.5.5",
72
+ "@types/react": "^19.0.0",
73
+ "commitlint": "^19.6.1",
74
+ "del-cli": "^5.1.0",
75
+ "eslint": "^9.22.0",
76
+ "eslint-config-prettier": "^10.1.1",
77
+ "eslint-plugin-prettier": "^5.2.3",
78
+ "jest": "^29.7.0",
79
+ "prettier": "^3.0.3",
80
+ "react": "19.0.0",
81
+ "react-native": "0.78.2",
82
+ "react-native-builder-bob": "^0.40.5",
83
+ "release-it": "^17.10.0",
84
+ "turbo": "^1.10.7",
85
+ "typescript": "^5.2.2"
86
+ },
48
87
  "peerDependencies": {
49
88
  "react": "*",
50
89
  "react-native": "*"
51
90
  },
91
+ "workspaces": [
92
+ "example"
93
+ ],
94
+ "packageManager": "yarn@3.6.1",
52
95
  "jest": {
53
96
  "preset": "react-native",
54
97
  "modulePathIgnorePatterns": [
@@ -62,34 +105,24 @@
62
105
  ]
63
106
  },
64
107
  "release-it": {
108
+ "git": {
109
+ "commitMessage": "chore: release ${version}",
110
+ "tagName": "v${version}"
111
+ },
65
112
  "npm": {
66
113
  "publish": true
67
- }
68
- },
69
- "eslintConfig": {
70
- "root": true,
71
- "parser": "@babel/eslint-parser",
72
- "extends": [
73
- "@react-native-community",
74
- "prettier"
75
- ],
76
- "rules": {
77
- "prettier/prettier": [
78
- "error",
79
- {
80
- "quoteProps": "consistent",
81
- "singleQuote": true,
82
- "tabWidth": 2,
83
- "trailingComma": "es5",
84
- "useTabs": false
114
+ },
115
+ "github": {
116
+ "release": true
117
+ },
118
+ "plugins": {
119
+ "@release-it/conventional-changelog": {
120
+ "preset": {
121
+ "name": "angular"
85
122
  }
86
- ]
123
+ }
87
124
  }
88
125
  },
89
- "eslintIgnore": [
90
- "node_modules/",
91
- "lib/"
92
- ],
93
126
  "prettier": {
94
127
  "quoteProps": "consistent",
95
128
  "singleQuote": true,
@@ -111,26 +144,9 @@
111
144
  ]
112
145
  ]
113
146
  },
114
- "devDependencies": {
115
- "@commitlint/config-conventional": "^17.0.2",
116
- "@evilmartians/lefthook": "^1.2.2",
117
- "@react-native-community/eslint-config": "^3.0.2",
118
- "@release-it/conventional-changelog": "^5.0.0",
119
- "@types/jest": "^28.1.2",
120
- "@types/react": "~17.0.21",
121
- "@types/react-native": "0.70.0",
122
- "commitlint": "^17.0.2",
123
- "del-cli": "^5.0.0",
124
- "eslint": "^8.4.1",
125
- "eslint-config-prettier": "^8.5.0",
126
- "eslint-plugin-prettier": "^4.0.0",
127
- "jest": "^28.1.1",
128
- "pod-install": "^0.1.0",
129
- "prettier": "^2.0.5",
130
- "react": "18.1.0",
131
- "react-native": "0.70.6",
132
- "react-native-builder-bob": "^0.20.3",
133
- "release-it": "^15.0.0",
134
- "typescript": "^4.9.5"
147
+ "create-react-native-library": {
148
+ "type": "legacy-module",
149
+ "languages": "kotlin-objc",
150
+ "version": "0.49.8"
135
151
  }
136
152
  }
package/src/hook.js CHANGED
@@ -33,8 +33,8 @@ function lastArgumentName(content, index) {
33
33
  // 自动PV开关
34
34
  let enableAutoCLK = false;
35
35
 
36
- if (packageJSON && packageJSON['QTSDKConfig']) {
37
- enableAutoCLK = !!packageJSON['QTSDKConfig']['enableAutoCLK'];
36
+ if (packageJSON && packageJSON.QTSDKConfig) {
37
+ enableAutoCLK = !!packageJSON.QTSDKConfig.enableAutoCLK;
38
38
  }
39
39
 
40
40
  // react native clickable component path
@@ -144,7 +144,7 @@ const QTSegmentedControlHookCode =
144
144
  const QTSwitchHookCode = `if(this.props.onChange != null || this.props.onValueChange != null){
145
145
  (function(thatThis){
146
146
  try {
147
- const ReactNative = require(react-native);
147
+ const ReactNative = require('react-native');
148
148
  const qtModule = ReactNative.NativeModules.QuicktrackingAnalyticsModule;
149
149
  qtModule && qtModule?.onEventAutoCLK(ReactNative.findNodeHandle(thatThis));
150
150
  } catch (error) {