react-native-quicktracking-analytics-module 2.0.1 → 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 (135) hide show
  1. package/LICENSE +1 -1
  2. package/QuicktrackingAnalyticsModule.podspec +29 -0
  3. package/README.md +211 -151
  4. package/android/build.gradle +41 -103
  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 -71
  31. package/src/hook.js +3 -3
  32. package/src/index.tsx +266 -169
  33. package/android/.gradle/7.4/checksums/checksums.lock +0 -0
  34. package/android/.gradle/7.4/checksums/md5-checksums.bin +0 -0
  35. package/android/.gradle/7.4/checksums/sha1-checksums.bin +0 -0
  36. package/android/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  37. package/android/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  38. package/android/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  39. package/android/.gradle/7.4/fileChanges/last-build.bin +0 -0
  40. package/android/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  41. package/android/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  42. package/android/.gradle/7.4/fileHashes/resourceHashesCache.bin +0 -0
  43. package/android/.gradle/7.4/gc.properties +0 -0
  44. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  45. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  46. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  47. package/android/.gradle/vcs-1/gc.properties +0 -0
  48. package/android/.idea/compiler.xml +0 -6
  49. package/android/.idea/gradle.xml +0 -19
  50. package/android/.idea/jarRepositories.xml +0 -35
  51. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +0 -16
  52. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +0 -11
  53. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +0 -13
  54. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +0 -16
  55. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +0 -13
  56. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  57. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  58. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
  59. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  60. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +0 -16
  61. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  62. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  63. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  64. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +0 -16
  65. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  66. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +0 -11
  67. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  69. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +0 -13
  70. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  71. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  72. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  73. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  74. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  75. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  76. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  77. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  78. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +0 -13
  80. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
  81. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
  82. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
  83. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
  84. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
  85. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
  86. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
  87. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
  88. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
  89. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
  90. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
  91. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
  92. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
  93. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
  94. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_70_6_debug_aar.xml +0 -14
  95. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +0 -13
  96. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +0 -13
  97. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +0 -15
  98. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
  99. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  100. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +0 -13
  101. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +0 -13
  102. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
  103. package/android/.idea/libraries/Gradle__com_umeng_umsdk_qt_px_common_1_4_0_PX_aar.xml +0 -11
  104. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  105. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  106. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
  107. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +0 -13
  108. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +0 -13
  109. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +0 -13
  110. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +0 -13
  111. package/android/.idea/misc.xml +0 -9
  112. package/android/.idea/modules/android.iml +0 -104
  113. package/android/.idea/modules.xml +0 -8
  114. package/android/.idea/vcs.xml +0 -6
  115. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  116. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  117. package/android/gradlew +0 -234
  118. package/android/gradlew.bat +0 -89
  119. package/android/local.properties +0 -8
  120. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QTSDKManager.java +0 -93
  121. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModule.java +0 -242
  122. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModulePackage.java +0 -28
  123. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/property/QTViewProperties.java +0 -48
  124. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/QTLog.java +0 -122
  125. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNPropertyManager.java +0 -29
  126. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNTouchTargetHelper.java +0 -139
  127. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNUtils.java +0 -188
  128. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/utils/RNViewUtils.java +0 -148
  129. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.pbxproj +0 -324
  130. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  131. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  132. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/xcuserdata/yuzhao.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  133. package/ios/QuicktrackingAnalyticsModule.xcodeproj/xcuserdata/yuzhao.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  134. package/ios/QuicktrackingAnalyticsModule.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  135. package/react-native-quicktracking-analytics-module.podspec +0 -37
@@ -1,199 +1,288 @@
1
+ "use strict";
2
+
1
3
  import { NativeModules, Platform } from 'react-native';
2
4
  const QuicktrackingAnalyticsModule = NativeModules.QuicktrackingAnalyticsModule;
5
+
6
+ //****************初始化相关**************** */
3
7
  /**
4
- *引入 QuickTracking SDK
8
+ * SDK正式初始化
9
+ * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
10
+ * @param channel 下载渠道
11
+ * @description 请务必在用户同意隐私政策后,再初始化SDK,务必调用。
12
+ * !!!
13
+ * 1. SDK的初始化需要在用户同意隐私政策后,再初始化SDK,务必调用。
14
+ * 2. 且必须在主线程中调用,iOS端强依赖主线程, Android端建议在主线程中初始化SDK,否则可能会导致数据不准确。
15
+ * 3. 调用初始化SDK能力之前,需要调用 setTrackDomain 方法设置收数域名。
5
16
  */
6
- export class QT {
7
- /**
8
- * 页面浏览事件埋点-打开页面
9
- * @param pageName 页面编码
10
- */
11
- static onPageStart(pageName) {
12
- QuicktrackingAnalyticsModule.onPageStart(pageName);
13
- }
17
+ export function init(appKey, channel) {
18
+ QuicktrackingAnalyticsModule.initWithAppkey(appKey, channel);
19
+ }
14
20
 
15
- /**
16
- * 页面浏览事件埋点-离开页面
17
- * @param pageName 页面编码
18
- */
19
- static onPageEnd(pageName) {
20
- QuicktrackingAnalyticsModule.onPageEnd(pageName);
21
+ /**
22
+ * SDK预初始化方法
23
+ * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
24
+ * @param channel 下载渠道
25
+ * @description 仅Android端需要预初始化方法
26
+ * 1. 预初始化方法可以在用户同意隐私政策之前调用。
27
+ * 2. 请在主线程中完成预初始化方法的调用
28
+ */
29
+ export function preInit(appKey, channel) {
30
+ if (Platform.OS === 'android') {
31
+ QuicktrackingAnalyticsModule.preInit(appKey, channel);
32
+ } else {
33
+ console.warn('preInit only support Android');
21
34
  }
35
+ }
22
36
 
23
- /**
24
- * 上传页面属性
25
- * @param pageName 页面编码
26
- * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
27
- */
28
- static uploadPageProperties(pageName, params) {
29
- QuicktrackingAnalyticsModule.uploadPageProperties(pageName, params);
30
- }
37
+ /**
38
+ * 设置SDK的收数域名
39
+ * @param mainTrackDomain SDK的主收数域名,例如:https://log.quicktracking.cn
40
+ * @param subTrackDomain SDK的副收数域名,例如:https://log.quicktracking.cn
41
+ * @description 设置SDK的收数域名, 调用SDK init 初始化API之前需要先设置收数域名。
42
+ */
43
+ export function setTrackDomain(mainTrackDomain, subTrackDomain) {
44
+ QuicktrackingAnalyticsModule.setTrackDomain(mainTrackDomain, subTrackDomain);
45
+ }
46
+
47
+ /**
48
+ * SDK开启日志
49
+ * @param enable 日志开关
50
+ * @description SDK日志开关
51
+ */
52
+ export function enableLog(enable) {
53
+ QuicktrackingAnalyticsModule.enableLog(enable);
54
+ }
55
+
56
+ //*******************埋点相关*************** */
57
+ /**
58
+ * 页面浏览事件埋点-打开页面
59
+ * @param pageName 页面编码
60
+ */
61
+ export function onPageStart(pageName) {
62
+ QuicktrackingAnalyticsModule.onPageStart(pageName);
63
+ }
64
+
65
+ /**
66
+ * 页面浏览事件埋点-离开页面
67
+ * @param pageName 页面编码
68
+ */
69
+ export function onPageEnd(pageName) {
70
+ QuicktrackingAnalyticsModule.onPageEnd(pageName);
71
+ }
72
+
73
+ /**
74
+ * 上传页面属性
75
+ * @param pageName 页面编码
76
+ * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
77
+ */
78
+ export function uploadPageProperties(pageName, params) {
79
+ QuicktrackingAnalyticsModule.uploadPageProperties(pageName, params);
80
+ }
31
81
 
32
- /**
33
- * 自定义事件埋点
34
- * @param eventId 当前统计的事件编码
35
- * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
36
- * @param pageName 当前统计事件的页面编码
37
- */
38
- static sendEvent(eventId, params, pageName) {
39
- if (params) {
40
- if (pageName) {
82
+ /**
83
+ * 自定义事件埋点
84
+ * @param eventId 当前统计的事件编码
85
+ * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对
86
+ * @param pageName 当前统计事件的页面编码
87
+ */
88
+ export function sendEvent(eventId, params, pageName) {
89
+ if (params) {
90
+ if (pageName) {
91
+ if (Platform.OS === 'android') {
41
92
  QuicktrackingAnalyticsModule.onEventWithParamsAndPageName(eventId, params, pageName);
42
93
  } else {
43
- QuicktrackingAnalyticsModule.onEventWithParams(eventId, params);
94
+ QuicktrackingAnalyticsModule.onEventWithParamsAndPageName(eventId, pageName, params);
44
95
  }
45
96
  } else {
46
- if (pageName) {
47
- QuicktrackingAnalyticsModule.onEventWithPageName(eventId, pageName);
48
- } else {
49
- QuicktrackingAnalyticsModule.onEvent(eventId);
50
- }
97
+ QuicktrackingAnalyticsModule.onEventWithParams(eventId, params);
51
98
  }
52
- }
53
-
54
- /**
55
- * 桥接事件埋点
56
- * @param data H5转发事件的日志体
57
- */
58
- static sendEventForH5(data) {
59
- try {
60
- const json = JSON.parse(data);
61
- if (Platform.OS === 'ios') {
62
- const eventId = json.sdkArgs && json.sdkArgs.id;
63
- let params = {};
64
- params.ap = json.ap || {};
65
- params.cusp = json.cusp || {};
66
- params = Object.assign(params, json.sdkArgs);
67
- QuicktrackingAnalyticsModule.onEventForH5(eventId, params);
68
- } else if (Platform.OS === 'android') {
69
- if (json.sdkArgs.id === '$$_page_start') {
70
- QuicktrackingAnalyticsModule.onEventForH5(JSON.stringify({
71
- params: json,
72
- methodName: 'sendPV',
73
- sid: `${Date.now()}`,
74
- className: 'Umeng4Aplus'
75
- }));
76
- } else {
77
- QuicktrackingAnalyticsModule.onEventForH5(JSON.stringify({
78
- params: json,
79
- methodName: 'sendEvent',
80
- sid: `${Date.now()}`,
81
- className: 'Umeng4Aplus'
82
- }));
83
- }
84
- }
85
- } catch (e) {
86
- console.log(e);
99
+ } else {
100
+ if (pageName) {
101
+ QuicktrackingAnalyticsModule.onEventWithPageName(eventId, pageName);
102
+ } else {
103
+ QuicktrackingAnalyticsModule.onEvent(eventId);
87
104
  }
88
105
  }
106
+ }
89
107
 
90
- /**
91
- * 注册一个全局事件属性
92
- * @param property 要注册的全局属性
93
- * @description
94
- ** 注册全局属性后,后续触发的所有事件都将自动包含这些属性;
95
- ** 且这些属性及属性值存入缓存,APP退出后清除。
96
- ** 在分析数据时,可根据此属性进行查看和筛选。
97
- */
98
- static registerGlobalProperty(gp) {
108
+ /**
109
+ * 桥接事件埋点
110
+ * @param data H5转发事件的日志体
111
+ */
112
+ export function sendEventForH5(data) {
113
+ try {
114
+ const json = JSON.parse(data);
99
115
  if (Platform.OS === 'ios') {
100
- Object.keys(gp).forEach((_propertyName, propertyValue) => {
101
- if (!propertyValue && propertyValue !== 0) {
102
- console.warn('属性值不能为null或undefined');
103
- } else if (typeof propertyValue === 'object') {
104
- console.warn('全局属性只能是单层对象');
105
- } else {
106
- QuicktrackingAnalyticsModule.registerGlobalProperty(gp);
107
- }
108
- });
109
- } else {
110
- QuicktrackingAnalyticsModule.registerGlobalProperties(gp);
116
+ const eventId = json.sdkArgs && json.sdkArgs.id;
117
+ let params = {};
118
+ params.ap = json.ap || {};
119
+ params.cusp = json.cusp || {};
120
+ params = Object.assign(params, json.sdkArgs);
121
+ QuicktrackingAnalyticsModule.onEventForH5(eventId, params);
122
+ } else if (Platform.OS === 'android') {
123
+ if (json.sdkArgs.id === '$$_page_start') {
124
+ QuicktrackingAnalyticsModule.onEventForH5(JSON.stringify({
125
+ params: json,
126
+ methodName: 'sendPV',
127
+ sid: `${Date.now()}`,
128
+ className: 'Umeng4Aplus'
129
+ }));
130
+ } else {
131
+ QuicktrackingAnalyticsModule.onEventForH5(JSON.stringify({
132
+ params: json,
133
+ methodName: 'sendEvent',
134
+ sid: `${Date.now()}`,
135
+ className: 'Umeng4Aplus'
136
+ }));
137
+ }
111
138
  }
139
+ } catch (e) {
140
+ console.log(e);
112
141
  }
142
+ }
113
143
 
114
- /**
115
- * 删除一个全局事件属性
116
- * @param propertyName 要删除的全局事件属性名,只支持大小写字母、数字及下划线
117
- */
118
- static unregisterGlobalProperty(propertyName) {
119
- QuicktrackingAnalyticsModule.unregisterGlobalProperty(propertyName);
144
+ //*******************属性相关******************* */
145
+ /**
146
+ * 注册一个全局事件属性
147
+ * @param property 要注册的全局属性
148
+ * @description
149
+ * 注册全局属性后,后续触发的所有事件都将自动包含这些属性;
150
+ * 且这些属性及属性值存入缓存,APP退出后清除。
151
+ * 在分析数据时,可根据此属性进行查看和筛选。
152
+ */
153
+ export function registerGlobalProperty(gp) {
154
+ if (Platform.OS === 'ios') {
155
+ Object.keys(gp).forEach((_propertyName, propertyValue) => {
156
+ if (!propertyValue && propertyValue !== 0) {
157
+ console.warn('属性值不能为null或undefined');
158
+ } else if (typeof propertyValue === 'object') {
159
+ console.warn('全局属性只能是单层对象');
160
+ } else {
161
+ QuicktrackingAnalyticsModule.registerGlobalProperty(gp);
162
+ }
163
+ });
164
+ } else {
165
+ QuicktrackingAnalyticsModule.registerGlobalProperties(gp);
120
166
  }
167
+ }
121
168
 
122
- /**
123
- * 根据Key获取单个全局属性
124
- * @param propertyName 属性名,只支持大小写字母、数字及下划线!
125
- */
126
- static async getGlobalProperty(propertyName) {
127
- try {
128
- const value = await QuicktrackingAnalyticsModule.getGlobalProperty(propertyName);
129
- return value;
130
- } catch (e) {
131
- console.log(e);
132
- }
133
- }
169
+ /**
170
+ * 删除一个全局事件属性
171
+ * @param propertyName 要删除的全局事件属性名,只支持大小写字母、数字及下划线
172
+ */
173
+ export function unregisterGlobalProperty(propertyName) {
174
+ QuicktrackingAnalyticsModule.unregisterGlobalProperty(propertyName);
175
+ }
134
176
 
135
- /**
136
- * 获取所有的全局事件属性, 返回包含所有全局事件属性的JSONObject
137
- */
138
- static async getGlobalProperties() {
139
- try {
140
- const gp = await QuicktrackingAnalyticsModule.getGlobalProperties();
141
- return gp;
142
- } catch (e) {
143
- console.log(e);
144
- }
177
+ /**
178
+ * 根据Key获取单个全局属性
179
+ * @param propertyName 属性名,只支持大小写字母、数字及下划线!
180
+ */
181
+ export const getGlobalProperty = async propertyName => {
182
+ try {
183
+ const value = await QuicktrackingAnalyticsModule.getGlobalProperty(propertyName);
184
+ return value;
185
+ } catch (e) {
186
+ console.log(e);
145
187
  }
188
+ };
146
189
 
147
- /**
148
- * 清空全部全局事件属性。
149
- */
150
- static clearGlobalProperties() {
151
- QuicktrackingAnalyticsModule.clearGlobalProperties();
190
+ /**
191
+ * 获取所有的全局事件属性, 返回包含所有全局事件属性的JSONObject
192
+ */
193
+ export const getGlobalProperties = async () => {
194
+ try {
195
+ const gp = await QuicktrackingAnalyticsModule.getGlobalProperties();
196
+ return gp;
197
+ } catch (e) {
198
+ console.log(e);
152
199
  }
200
+ };
153
201
 
154
- /**
155
- * 账号登录时调用此接口,用于统计应用自身的账号
156
- * @param ID 用户账号ID,长度小于64字节
157
- * @param provider
158
- */
159
- static profileSignIn(ID, Provider) {
160
- switch (Platform.OS) {
161
- case 'android':
162
- {
163
- if (Provider) {
164
- QuicktrackingAnalyticsModule.profileSignInWithProvider(ID, Provider);
165
- } else {
166
- QuicktrackingAnalyticsModule.profileSignIn(ID);
167
- }
168
- break;
202
+ /**
203
+ * 清空全部全局事件属性。
204
+ */
205
+ export const clearGlobalProperties = () => {
206
+ QuicktrackingAnalyticsModule.clearGlobalProperties();
207
+ };
208
+
209
+ //*********************用户相关************************* */
210
+ /**
211
+ * 账号登录时调用此接口,用于统计应用自身的账号
212
+ * @param ID 用户账号ID,长度小于64字节
213
+ * @param provider
214
+ */
215
+ export const profileSignIn = (ID, Provider) => {
216
+ switch (Platform.OS) {
217
+ case 'android':
218
+ {
219
+ if (Provider) {
220
+ QuicktrackingAnalyticsModule.profileSignInWithProvider(ID, Provider);
221
+ } else {
222
+ QuicktrackingAnalyticsModule.profileSignIn(ID);
169
223
  }
170
- case 'ios':
171
- {
172
- if (Provider) {
173
- QuicktrackingAnalyticsModule.profileSignIn(ID);
174
- } else {
175
- QuicktrackingAnalyticsModule.profileSignIn(ID, null);
176
- }
177
- break;
224
+ break;
225
+ }
226
+ case 'ios':
227
+ {
228
+ if (Provider) {
229
+ QuicktrackingAnalyticsModule.profileSignIn(ID);
230
+ } else {
231
+ QuicktrackingAnalyticsModule.profileSignIn(ID, null);
178
232
  }
179
- }
233
+ break;
234
+ }
180
235
  }
236
+ };
181
237
 
182
- /**
183
- * 账号登出时需调用此接口,调用之后不再发送账号相关内容。
184
- */
185
- static profileSignOff() {
186
- QuicktrackingAnalyticsModule.profileSignOff();
238
+ /**
239
+ * 账号登出时需调用此接口,调用之后不再发送账号相关内容。
240
+ */
241
+ export const profileSignOff = () => {
242
+ QuicktrackingAnalyticsModule.profileSignOff();
243
+ };
244
+
245
+ //*******************其他 ************************* */
246
+ /**
247
+ * 设置应用版本
248
+ */
249
+ export const setAppVersion = (version, versionCode) => {
250
+ if (Platform.OS === 'android') {
251
+ QuicktrackingAnalyticsModule.setAppVersion(version, versionCode);
252
+ } else {
253
+ QuicktrackingAnalyticsModule.setAppVersion(version);
187
254
  }
255
+ };
256
+
257
+ /**
258
+ * 关闭SDK
259
+ */
260
+ export const disableSDK = () => {
261
+ QuicktrackingAnalyticsModule.disableSDK();
262
+ };
263
+
264
+ /**
265
+ * 开启SDK
266
+ */
267
+ export const enableSDK = () => {
268
+ QuicktrackingAnalyticsModule.enableSDK();
269
+ };
188
270
 
189
- /**
190
- * SDK正式初始化
191
- * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方
192
- * @param channel 下载渠道
193
- * @description 请务必在用户同意隐私政策后,再初始化SDK,务必调用。
194
- */
195
- static init(appKey, channel) {
196
- QuicktrackingAnalyticsModule.initWithAppkey(appKey, channel);
271
+ /**
272
+ * 自定义设备ID
273
+ */
274
+ export const setCustomDeviceId = deviceId => {
275
+ QuicktrackingAnalyticsModule.setCustomDeviceId(deviceId);
276
+ };
277
+
278
+ /**
279
+ * 读取设备ID
280
+ */
281
+ export const getDeviceId = async () => {
282
+ try {
283
+ return await QuicktrackingAnalyticsModule.getDeviceId();
284
+ } catch (error) {
285
+ console.log(error);
197
286
  }
198
- }
287
+ };
199
288
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","QuicktrackingAnalyticsModule","init","appKey","channel","initWithAppkey","preInit","OS","console","warn","setTrackDomain","mainTrackDomain","subTrackDomain","enableLog","enable","onPageStart","pageName","onPageEnd","uploadPageProperties","params","sendEvent","eventId","onEventWithParamsAndPageName","onEventWithParams","onEventWithPageName","onEvent","sendEventForH5","data","json","JSON","parse","sdkArgs","id","ap","cusp","Object","assign","onEventForH5","stringify","methodName","sid","Date","now","className","e","log","registerGlobalProperty","gp","keys","forEach","_propertyName","propertyValue","registerGlobalProperties","unregisterGlobalProperty","propertyName","getGlobalProperty","value","getGlobalProperties","clearGlobalProperties","profileSignIn","ID","Provider","profileSignInWithProvider","profileSignOff","setAppVersion","version","versionCode","disableSDK","enableSDK","setCustomDeviceId","deviceId","getDeviceId","error"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}