├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── demo
├── kbone
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ └── tsconfig.json
├── mpvue
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ └── project.config.json
├── remax
│ ├── README.md
│ ├── app.json
│ ├── package.json
│ ├── project.config.json
│ └── remax.config.js
└── taro
│ ├── README.md
│ ├── babel.config.js
│ ├── package.json
│ ├── project.config.json
│ └── project.tt.json
├── dist
├── v2
│ ├── sensorsdata.cjs.js
│ └── sensorsdata.esm.js
└── wechat
│ ├── plugin
│ ├── abtesting-sdk-miniprogram
│ │ ├── README.md
│ │ ├── alipay
│ │ │ ├── abtest.cmd.min.js
│ │ │ └── abtest.esm.min.js
│ │ ├── quickapp
│ │ │ └── abtest.esm.min.js
│ │ └── wechat
│ │ │ ├── abtest.cmd.min.js
│ │ │ └── abtest.esm.min.js
│ ├── ad-channel-h5-linker
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── ad-channel
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── disable-sdk
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── duplicate-data
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── encryption
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── exposure
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── general-encryption
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── get-location
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── gzip
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── h5-linker
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── old-openid
│ │ ├── index.cmd.js
│ │ └── index.esm.js
│ ├── once-send
│ │ ├── index.cmd.js
│ │ └── index.esm.js
│ ├── plugin.md
│ ├── readme.md
│ ├── register-properties
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── session-event
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── set-referrer-path
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── sf-instant-event
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── sf-sdk-miniprogram
│ │ ├── README.md
│ │ ├── popup-component
│ │ │ ├── popup-component.js
│ │ │ ├── popup-component.json
│ │ │ ├── popup-component.wxml
│ │ │ └── popup-component.wxss
│ │ ├── popup.cmd.min.js
│ │ └── popup.esm.min.js
│ └── sm-encryption
│ │ ├── index.cmd.js
│ │ ├── index.esm.js
│ │ └── readme.md
│ ├── sensorsdata.cjs.js
│ └── sensorsdata.esm.js
├── package.json
├── sensorsdata.es6.min.js
├── sensorsdata.min.d.ts
└── sensorsdata.min.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | git.properties
3 |
4 | ### Intellij ###
5 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
6 |
7 | *.iml
8 |
9 | ## Directory-based project format:
10 | .idea/
11 |
12 | ## File-based project format:
13 | *.ipr
14 | *.iws
15 |
16 | ## Plugin-specific files:
17 |
18 | # IntelliJ
19 | /out/
20 |
21 | # mpeltonen/sbt-idea plugin
22 | .idea_modules/
23 |
24 | # JIRA plugin
25 | atlassian-ide-plugin.xml
26 |
27 | # Python
28 | __pycache__
29 | *.pyc
30 |
31 | # Crashlytics plugin (for Android Studio and IntelliJ)
32 | com_crashlytics_export_strings.xml
33 | crashlytics.properties
34 | crashlytics-build.properties
35 |
36 | # java build files
37 | target
38 | ui/node_modules
39 | ui/build
40 |
41 | # debug scripts.
42 | deploy.sh
43 | ftpsync.settings
44 |
45 | *.swp
46 | .DS_Store
47 |
48 | # Xcode
49 | build/*
50 | *.pbxuser
51 | !default.pbxuser
52 | *.mode1v3
53 | !default.mode1v3
54 | *.mode2v3
55 | !default.mode2v3
56 | *.perspectivev3
57 | !default.perspectivev3
58 | *.xcworkspace
59 | !default.xcworkspace
60 | xcuserdata
61 | profile
62 | *.moved-aside
63 | *.cer
64 | *.p12
65 | *.mobileprovision
66 |
67 | # AppCode
68 | .idea
69 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 1.22.3 (2025-9-28)
2 | 1. 优化
3 | - 把 SF 即时事件的 get 请求改成 post 请求。
4 | 2. 修复
5 | - v1.22.2 版本中 SF 即时事件插件在 readme 的描述中是配置 instant_events 来筛选事件,实际不生效,现在已修复。
6 |
7 | ## 1.22.2 (2025-9-18)
8 | 1. 新增
9 | - 新增插件,支持神策 SF 的即时事件。
10 |
11 | ## 1.22.1 (2025-8-14)
12 | 1. 新增
13 | - 新增插件,支持 gzip。
14 |
15 | ## 1.21.10 (2025-7-25)
16 | 1. 新增
17 | - 1.21.8 中 ad-channel 插件支持热启动归因,本次把 ad-channel-h5-linker 也增加进来,且文档中备注了,必须使用 use 替换 usePlugin。
18 |
19 | ## 1.21.9 (2025-7-23)
20 | 1. 新增
21 | - 新增插件 duplicate-data,用来去除 time 完全一致数据。
22 |
23 | ## 1.21.8 (2025-6-30)
24 | 1. 新增
25 | - 配置 appShow:true 后,可以开启热启动也支持 SAT 渠道归因。
26 |
27 | ## 1.21.7 (2025-5-26)
28 | 1. 优化
29 | - 优化在某些安全工具下扫描出的 extend 方法的原型链污染的安全问题。
30 | 2. 新增
31 | - 支持分享的时候使用 async 的语法,但是不能开启 JS 转 ES5,否则还是不支持。
32 |
33 | ## 1.21.6 (2025-3-31)
34 | 1. 优化
35 | - 增加异常判断,曝光插件中删除元素导致的报错。
36 |
37 | ## 1.21.5 (2025-3-18)
38 | 1. 优化
39 | - 考虑到 SAT 参数可能比较长,所以优化最大字符串长度从 500 到 5000。
40 | - 开源协议、demo 等相关修改。
41 |
42 | ## 1.21.4 (2025-3-5)
43 | 1. 优化
44 | - 优化 SAT channel 插件,新增 $ad_landing_page_url (没有 decode 的 $url)。
45 |
46 | ## 1.21.3 (2024-11-29)
47 | 1. 修复
48 | - 1.21 提供的 v2 目录里的文件没有更新,重新打包了。
49 |
50 | ## 1.21.1 (2024-11-8 废弃)
51 | 1. 新增
52 | - 新增打包 v2 目录,这个目录下打包的 SDK 去除了 setOpenid、initWithOpenid 等过期 API,且只能用批量发送。后续还会提供更多 v3、v4 等打包目录,去除一些过期或者不用的 API。
53 |
54 | ## 1.20.6 (2024-11-5)
55 | 1. 修复
56 | - 小程序 disable sdk 后还会发送 profile 的问题。
57 | 2. 新增
58 | - 弹窗支持下发可弹的时间段。
59 |
60 | ## 1.20.5 (2024-7-26)
61 | 1. 修复
62 | - 小程序弹窗点击 image 时候没有 $sf_msg_element_type。
63 |
64 | ## 1.20.4 (2024-4-19)
65 | 1. 新增
66 | - 支持在部分场景下,使用多 SDK。
67 |
68 | ## 1.20.3 (2024-3-26)
69 | 1. 优化
70 | - ID3 内外层匿名 ID 保持一致,不建议使用 loginWithKey, identify 默认是带 true 的结果。
71 |
72 | ## 1.20.2 (2023-11-17)
73 | 1. 新增
74 | - `sensors.resetAnonymousIdentity` 重置匿名 ID 的接口。
75 | - `sensors.kit.setData` 来设置内部 titile 变量,从而解决动态设置 titile 的问题。
76 |
77 | ## 1.20.1(2023-11-15)
78 | 1. 修复
79 | - 连续调用 track 和 bind,track 数据里有可能会包含 bind 信息的问题。
80 |
81 | ## 1.19.12(2023-10-30)
82 | 1. 修复
83 | - 自动全埋点和手动全埋点共存的时候,手动全埋点 pageShow 的 referrer 不准确。
84 |
85 | ## 1.19.11(2023-10-23)
86 | 1. 新增
87 | - 数据发送国密加密插件。
88 |
89 | ## 1.19.10(2023-10-9)
90 | 1. 修复
91 | - 曝光插件偶尔会报 Cannot read property 'area rate' of undefined 的问题。
92 |
93 | ## 1.19.9(2023-9-19)
94 | 1. 修复
95 | - 在开启 sampshare 且未定义 path 时,自动生成的 path 不带 query。
96 |
97 | ## 1.19.8(2023-8-30)
98 | 1. 修复
99 | - 曝光插件,监听元素过多(预计 200 个以上)时候导致内存溢出。
100 |
101 | ## 1.19.7(2023-8-8)
102 | 1. 新增
103 | - 弹窗支持复杂数据权限。
104 |
105 | ## 1.19.6(2023-7-25)
106 | 1. 修复
107 | - 修复 `PC` 端微信小程序上报失败的问题。
108 |
109 | ## 1.19.5(2023-6-20)
110 | 1. 新增
111 | - 曝光插件支持过程回调。
112 |
113 | ## 1.19.4(2023-6-9)
114 | 1. 新增
115 | - 新增 `registerPropertyPlugin` 接口,支持属性的删除和修改。
116 |
117 | ## 1.19.3(2023-6-1)
118 | 1. 修复
119 | - 修复 `enableDataCollect` 接口报错问题
120 |
121 | ## 1.19.2(2023-5-4)
122 | 1. 新增
123 | - `A/B Testing` 插件埋点逻辑配置化
124 | - 弹窗蒙层点击优化
125 | - 新增弹窗点击回调
126 |
127 | ## 1.19.1(2023-4-10)
128 | 1. 新增
129 | - 插件优化二期
130 | 2. 修复
131 | - 修复 `ad-channel-h5-linker` 插件在延迟初始化情况下 `log` 方法报错的问题。
132 | - 修复插件不兼容导致的属性缺失问题
133 |
134 | ## 1.18.5(2023-3-31)
135 | 1. 新增
136 | - 支持曝光事件采集
137 |
138 | ## 1.18.4(2022-12-7)
139 | 1. 新增
140 | - 支持 `List` 列表元素非字符串类型
141 |
142 | ## 1.18.3(2022-12-2)
143 | 1. 修复
144 | - `ID-Mapping 3.0` 用户关联协议优化
145 | - 修复特殊场景下首次启动不生效的问题
146 |
147 | ## 1.18.2(2022-11-18)
148 | 1. 新增
149 | - 新增支持非对称加密框架插件
150 | - 支持关闭数据采集
151 |
152 | ## 1.18.1(2022-10-26)
153 | 1. 新增
154 | - 插件化重构
155 | - 新增支持 `webview` 渠道信息回传插件
156 |
157 | ## 1.17.13(2022-9-16)
158 | 1. 修复
159 | - 修复无法解绑 `$identity_mp_unionid` 的问题
160 |
161 | ## 1.17.12(2022-8-12)
162 | 1. 新增
163 | - 分享事件支持异步采集分享者信息
164 |
165 | ## 1.17.11(2022-7-22)
166 | 1. 新增
167 | - 新增 `referrer_path` 插件
168 | 2. 优化
169 | - 优化自定义属性插件,可以覆盖预置属性
170 |
171 | ## 1.17.10(2022-6-16)
172 | 1. 新增
173 | - 新增 `getLocation` 插件
174 |
175 | ## 1.17.9(2022-5-31)
176 | 1. 新增
177 | - 新增 `SessionEvent` 插件
178 |
179 | ## 1.17.8(2022-5-26)
180 | 1. 新增
181 | - 新增广告渠道插件
182 |
183 | ## 1.17.7(2022-4-29)
184 | 1. 修复
185 | - 删除获取经纬度的功能,修复微信小程序发布代码审核不通过的问题
186 |
187 | ## 1.17.6(2022-4-15)
188 | 1. 新增
189 | - 新增登录接口 `loginWithKey`,去除 `LOGIN_ID_KEY` 配置
190 |
191 | ## 1.17.5(2022-3-21)
192 | 1. 修复
193 | - 修复 `login` 传入匿名 `ID` 触发 `$SignUp` 事件的问题
194 |
195 | ## 1.17.4(2022-3-11)
196 | 1. 新增
197 | - 支持动态配置制定页面的 `$MPPageLeave` 采集规则
198 |
199 |
200 | ## 1.17.3(2022-1-13)
201 | 1. 新增
202 | - 支持自定义属性配置插件
203 |
204 | ## 1.17.2(2022-1-13)
205 | 1. 修复
206 | - 页面浏览时长出现负值的问题
207 | - 属性值为 `null` 和 `undefined` 日志提示不准确的问题
208 |
209 | ## 1.17.1(2021-12-31)
210 | 1. 新增
211 | - 支持合规功能,延迟初始化
212 |
213 | ## 1.16.3(2021-12-27)
214 | 1. 修复
215 | - 修复 `setOpenid` 接口上报 `$BindID` 事件导致后端埋点报错的问题
216 |
217 | ## 1.16.2(2021-12-22)
218 | 1. 新增
219 | - 支持 `ID-Mapping 3.0` 用户关联协议
220 | - 获取预置属性接口返回新增是否首次属性 `$is_first_time`
221 | 2. 修复
222 | - 修复 `Component` 传空对象,不采集页面浏览事件的问题
223 | - 修复批量发送的 `time` 和 `_flush_time` 相同的问题
224 | - 修复部分场景下 `$url_path` 取值不准确的问题
225 |
226 | ## 1.15.1(2021-12-2)
227 | 1. 新增
228 | - 新增支持数据传输加密
229 |
230 | ## 1.14.29(2021-11-29)
231 | 1. 新增
232 | - 新增所有事件采集 `$url`、`$title`、`$mp_client_basic_library_version`、`$mp_client_app_version` 和 `$app_version` 属性
233 |
234 |
235 | ## 1.14.28(2021-11-24)
236 | 1. 优化
237 | - 优化 `$referrer` 取值为 `url` 完整路径带 `query` 参数
238 |
239 | ## 1.14.27(2021-11-23)
240 | 1. 新增
241 | - 数据发送模块重构
242 |
243 | ## 1.14.26(2021-11-11)
244 | 1. 修复
245 | - 修复返回操作触发页面浏览事件时 `$referrer` 值不准确的问题
246 | - 修复不设置页面标题会出现错误日志的问题
247 | - 修复属性值传空数组会被删除不上报的问题
248 |
249 | ## 1.14.25(2021-10-28)
250 | 1. 修复
251 | - 修复 `setWebviewUrl` 方法可能会导致客户参数无法解析的问题
252 |
253 | ## 1.14.24(2021-10-11)
254 | 1. 修复
255 | - 修复 `sendPageLeave` 方法可能导致的报错问题
256 | - 修复 `Fortify` 扫描的安全漏洞问题
257 |
258 | ## 1.14.23(2021-09-28)
259 | 1. 修复
260 | - 修复 `setWebviewUrl` 方法可能会导致客户 `url` 中参数丢失的问题
261 | - 修复参数 `launched` 暴露修改方法可能会导致 `$MPLaunch` 无法采集的问题
262 | - 修复浏览插件页面退出小程序采集 `$MPHide` 事件时,控制台会捕获到异常的问题
263 |
264 | ## 1.14.22(2021-09-15)
265 | 1. 优化
266 | - 修改初始化配置参数 `show_log` 默认值为 `fasle`
267 | - 修改初始化配置参数 `max_string_length` 默认值为 `500`
268 | 2. 修复
269 | - 修复 `ES6` 语法报错问题
270 |
271 | ## 1.14.21(2021-08-27)
272 | 1. 优化
273 | - `$SignUp` 事件去除 `$is_first_day` 属性
274 |
275 | ## 1.14.20(2021-08-20)
276 | 1. 新增
277 | - 新增采集页面浏览时长事件 `$MPPageLeave`
278 |
279 | ## 1.14.19(2021-08-9)
280 | 1. 修复
281 | - 修复特定情况下分享字段解析报错问题
282 |
283 | ## 1.14.18(2021-08-6)
284 | 1. 优化
285 | - `fortify` 安全扫描问题优化
286 |
287 | ## 1.14.17(2021-08-5)
288 | 1. 新增
289 | - 新增公共预置属性 `$referrer_title`
290 | 1. 修复
291 | - 修复特定情况下 `$referrer` 取值异常的问题
292 |
293 | ## 1.14.16(2021-07-31)
294 | 1. 修复
295 | - 修复开发者工具企业微信小程序模式获取 `title` 报错问题
296 |
297 | ## 1.14.15(2021-07-29)
298 | 1. 优化
299 | - 优化批量发送 300 条限制逻辑
300 |
301 | ## 1.14.14(2021-07-19)
302 | 1. 修复
303 | - 修复自定义属性被预置属性覆盖问题
304 | - 修复 `Taro 3.1` 及以上框架,小程序内嵌元素自定义属性无法采集的问题
305 |
306 | ## 1.14.13(2021-07-9)
307 | 1. 新增
308 | - `$url_path` 设置为所有事件都有的预置属性
309 | 2. 修复
310 | - 修复页面浏览事件自定义属性值 `$title` 被覆盖问题
311 | 3. 优化
312 | - 可配置特定控件不采集全埋点点击事件逻辑优化
313 |
314 | ## 1.14.12(2021-06-26)
315 | 1. 新增
316 | - 支持在微信小程序中跟内嵌 `H5` 打通
317 | - 支持对特定控件不采集全埋点点击事件
318 | - 支持分享到朋友圈单页模式下页面的数据采集
319 |
320 | ## 1.14.11(2021-06-10)
321 | 1. 新增
322 | - 新增 `tabBar` 点击事件自动采集
323 | - 新增 `getServerUrl` 接口
324 | - 默认开启批量发送
325 | 2. 修复
326 | - 修复 `ES6` 语法报错问题
327 |
328 | ## 1.14.10(2021-05-21)
329 | 1. 新增
330 | - 新增预置属性 `$brand` 和 `$geo_coordinate_system`,统一 `$network_type` 属性值为大写
331 | 2. 修复
332 | - 修复自定义全埋点 `$MPViewScreen` 缺少 `$title` 预置属性
333 |
334 | ## 1.14.9(2021-04-22)
335 | 1. 新增
336 | - 新增本地 `storage` 加密
337 |
338 | ## 1.14.8(2021-04-20)
339 | 1. 修复
340 | - 修复页面参数含有 `scene` 时 `$url_query` 为空问题;
341 | 2. 新增
342 | - `TS` 文件新增对 `setOpenid` 方法的声明
343 |
344 | ## 1.14.7(2021-03-19)
345 | 1. 优化
346 | - 优化定时器,减少 `setTimeout` 方法使用;
347 | - 优化点击事件优先级处理;
348 | 2. 修复
349 | - 修复延迟初始化时,注册事件属性不一致问题;
350 |
351 | ## 1.14.6(2021-03-13)
352 | 1. 新增
353 | - 增加 `_flush_time` 和 `_track_id` 属性;
354 | - 新增 `ts` 声明文件
355 |
356 | ## 1.14.5(2020-12-25)
357 | 1. 新增
358 | - 页面浏览事件新增采集 `$title`;
359 | 2. 优化
360 | - 优化场景值映射,SA 需升级到 `2.1.5107` 及以上版本,SDG 需升级到 `0.7.5159` 及以上版本;
361 | - 优化打印日志方法;
362 |
363 | ## 1.14.4(2020-12-18)
364 | 1. 修复
365 | - 修复点击事件埋点 bug;
366 |
367 | ## 1.14.2(2020-12-4)
368 | 1. 新增
369 | - 页面浏览采集可配置;
370 | - 所有事件可配置采集 $url_path;
371 |
372 | ## 1.14.1(2020-11-10)
373 | 1. 优化
374 | - 全埋点优化,支持所有框架采集;
375 | - ID 修改逻辑优化,增加 ID 规则校验;
376 |
377 | ## 1.13.32(2020-11-07)
378 | 1. 新增
379 | - 新增 SF 渠道属性采集
380 |
381 | ## 1.13.31(2020-10-30)
382 | 1. 新增
383 | - 新增经纬度采集;
384 |
385 | ## 1.13.30(2020-10-23)
386 | 1. 优化
387 | - 获取场景值功能优化;
388 |
389 | ## 1.13.29(2020-09-16)
390 | 1. 新增
391 | - 新增获取匿名 ID 接口;
392 |
393 | ## 1.13.28(2020-09-10)
394 | 1. 优化
395 | - 获取预置属性接口新增是否首日属性;
396 |
397 | ## 1.13.27(2020-09-08)
398 | 1. 新增
399 | - 新增收藏预置事件,分享事件区分转发朋友圈和分享消息卡片;
400 | - 支持注册动态公共属性;
401 |
402 | ## 1.13.26(2020-07-30)
403 | 1. 修复
404 | - 小程序 sa_utm 解析 bug 修复;
405 | - 微信小程序 $MPViewScreen 事件 utm 信息解码;
406 |
407 | ## 1.13.25(2020-07-17)
408 | 1. 新增
409 | - 新增事件监听功能
410 |
411 | ## 1.13.24(2020-06-19)
412 | 1. 新增
413 | - 新增所有事件都有的预置属性 `$app_id`、`$timezone_offset`
414 |
415 | ## 1.13.23(2020-04-26)
416 | 1. 修复
417 | - 修复 `WePY` 框架运行` npm run build` 时语法不兼容问题;
418 |
419 | ## 1.13.22(2020-04-13)
420 | 1. 优化
421 | - 优化点击预置事件中 `$url_path` 预置属性的采集逻辑;
422 |
423 | ## 1.13.21(2020-04-07)
424 | 1. 优化
425 | - 优化预置事件 `$MPLaunch`、 `$MPShow` 中 `$share_depth` 的计算逻辑;
426 | 2. 新增
427 | - 新增所有事件都有的预置属性 `$latest_share_depth`、 `$latest_share_distinct_id`、 `$lastest_share_url_path`,神策分析系统需升级到 `1.14.745` `1.16.1414` `1.15.1413` `1.13.5875` 及以上版本;
428 |
429 | ## 1.13.20(2020-03-19)
430 | 1. 修复
431 | - 修复点击处理函数参数为 `null` 时,点击预置事件报错问题;
432 |
433 | ## 1.13.19(2020-03-11)
434 | 1. 新增
435 | - 新增预置点击事件 `$MPClick` 可通过配置确定是否采集功能;
436 | - 插件版 `SDK` 支持 `Component` 构造器构造的页面的预置事件采集功能;
437 | 2. 优化
438 | - 优化批量发送方式下请求取消时长配置;
439 |
440 | ## 1.13.18(2020-03-05)
441 | 1. 新增
442 | - 新增预置点击事件 $MPClick 采集功能;
443 | - 新增 logout() 接口;
444 |
445 | ## 1.13.17(2020-02-17)
446 | 1. 优化
447 | - 优化 `identify()` 接口逻辑;
448 | - 批量发送方式下,默认请求取消时长修改为 `10s`;
449 |
450 | ## 1.13.16(2019-12-25)
451 | 1. 更新
452 | - 更新场景值描述
453 |
454 | ## 1.13.15(2019-12-24)
455 | 1. 修复
456 | - 修复使用批量发送方式发送数据时,网络从无网切换到有网时,数据无法发送的问题
457 | 2. 优化
458 | - `onLaunch` `onShow` 生命周期函数中,参数对象中获取不到 `scene` 值时的处理逻辑
459 |
460 | ## 1.13.14(2019-12-02)
461 | 1. 修复
462 | - 修复参数中同时带有 `scene` 与渠道信息时,无法解析渠道信息
463 | - 修复多场景下扫描普通二维码时 `q` 参数的渠道解析逻辑
464 | 2. 新增
465 | - 新增渠道参数映射功能
466 | 3. 优化
467 | - 优化最近一次渠道参数解析规则
468 |
469 |
470 | ## 1.13.13(2019-11-9)
471 | 1. 优化
472 | - 优化扫描普通网页二维码的兼容性处理
473 | - 没有 `init` 前的队列做了清空
474 | - 为了兼容 `page` 在 `onshow` 时候,加自定义参数,去除了代码中 `$MPViewScreen` 的自定义方法
475 |
476 | ## 1.13.12(2019-10-31)
477 | * 优化:server_url为空时候,不发数据。
478 |
479 | ## 1.13.11
480 | * 新增:所有事件增加 anonymous_id 属性,如果调用了 login 方法,就增加 login_id 属性。
481 | * 例行更新:场景值的描述
482 |
483 | ## 1.13.10 (2019-09-18)
484 | * 优化:默认decode了option.query的值。分享时候自动拼接的的query还是保持不变。
485 |
486 | ## 1.13.9 (2019-09-16)
487 | * 新增:增加配置 is_persistent_save ,支持将最近一次站外渠道信息永久保存到 Storage 中
488 | * 优化:给未定义 Component 时候一个默认值
489 |
490 | ## 1.13.8 (2019-08-30)
491 | * 新增:支持自定义 utm 参数。通过配置 source_channel:['...','...']
492 | * 优化:storage 数据写入失败的话,会打印出失败的原因
493 | * 优化:$os的取值增加devtools,优化了$os和$os_version算法
494 | * 优化:$url_query在$MPViewScreen中没有值时候,从未知改成空
495 |
496 | ## 1.13.7 (2019-08-22)
497 |
498 | * 新增:$MPViewScreen 增加了 UTM 相关属性的解析
499 | * 例行更新:场景值的描述
500 |
501 | ## 1.13.6 (2019-08-09)
502 |
503 | * 新增:支持非插件模式下用Component作为页面构造器时候的,页面浏览自动采集功能,包括以下两种情况
504 | 1.原生小程序直接使用Component作为页面构造器 2.框架使用Component作为页面构造器,包括 Taro,Uniapp,wepy2
505 |
506 | ## 1.13.5 (2019-07-05)
507 |
508 | * 增加了获取匿名ID的方法 sensors.quick('getAnonymousID')
509 |
510 | ## 1.13.4 (2019-06-17)
511 |
512 | * 同步小程序场景值描述
513 | * server_url 默认地址为空
514 | * 存储读取异常时候会重试
515 |
516 | ## 1.13.3 (Unknown)
517 |
518 | * 获取预置属性方法可获取到 latest 相关属性
519 | * 增加 appendProfile 与 incrementProfile 缓存
520 |
521 | ## 1.13.2 (2019-05-16)
522 |
523 | * 增加两个 profile的操作 sa.appendProfile({catrgory: ['玉米']}) 喜爱的蔬菜增加玉米 和 sa.incrementProfile({'navClick': 1}) 导航点击次数 +1次
524 |
525 | ## 1.13.1 (2019-05-10)
526 |
527 | * **重大更新**,去除了sensorsdata_conf.js,配置改成在 App.js中,通过 sensors.setPara({})或者在sensors.init({})中加入
528 | * 分成三个文件,sensorsdata.min.js全埋点的非插件版,sensorsdata.plugin.min.js全埋点的插件版,sensorsdata.custom.min.js手动埋点版本支持插件和非插件。具体各个版本的用法参考文档。另外增加es6格式的对应版本
529 |
530 | ## 1.12.11 (2019-04-22)
531 |
532 | * 修复12.10的bug,如果更新1.12.10的用户,必须更新到1.12.11
533 |
534 | ## 1.12.10 (2019-04-04)
535 |
536 | * 修复$url_query在返回时候取值的错误,修复当没有onShareAppMessage没有return值,且使用allow_amend_share_path时候,自动补全的url只有path没有query的问题
537 | * 去除了page在show的时候,解析utm参数和scene的功能,统一在app里解析
538 |
539 | ## 1.12.9 (2019-03-11)
540 |
541 | * 增加自动采集$first_visit_time 首次访问时间
542 | * 增加 datasend_timeout 配置请求最大链接多久取消
543 |
544 | ## 1.12.8 (2019-01-23)
545 |
546 | * getPresetProperties去掉registerApp的属性
547 | * 修复自动获取openid的url在某些特殊条件下的bug
548 | * 增加批量发送最大数据量,batch_send:{send_timeout:6000,max_length:6}
549 |
550 | ## 1.12.7 (2019-01-11)
551 |
552 | * registerApp 方法不做缓存
553 |
554 | ## 1.12.6 (2019-01-04)
555 |
556 | * 增加 batch_send 批量发数据的配置,设置为空对象或者true,表示开启这个功能,必须更新神策分析到最新版,否则去重功能无效
557 | * 增加 autoTrackIsFirst的配置,不设置默认是先执行onLaunch等事件中的代码,(如果使用动态修改预置属性的功能会有影响!!!),后发送appLaunch的统计数据,可以单独给各个预置事件单独设置先后发送顺序
558 | * 增加sa.quick('appLaunch',arguments,prop) 等单独发预置事件和属性的功能
559 |
560 | ## 1.12.5 (2018-11-24)
561 |
562 | * 修复 autoTrack.pageShow 设置 false 仍然发送 $MPViewScreen 的问题
563 |
564 | ## 1.12.4 (2018-11-09)
565 |
566 | * 增加init的多次使用的判断,去掉$MPLaunch,$MPShow中获取到的path带/的异常判断
567 |
568 | ## 1.12.3 (Unkown)
569 |
570 | * 小程序identify和login如果传入的是非字符串时候,自动转化字符串类型
571 | * 增加对onShareAppMessage返回空对象的判断
572 |
573 | ## 1.12.2 (2018-10-26)
574 |
575 | * 修复在开启自动采集分享,且定义空的onShareAppMessage时候,控制台报错的问题
576 |
577 | ## 1.12.1 (2018-10-16)
578 |
579 | * 更新支持插件的小程序 SDK 具体用法参考 https://sensorsdata.cn/manual/mp_sdk_plugin.html
580 |
581 | ## 1.11.1 (2018-09-28)
582 |
583 | * 更新 $manufacturer 设备制造商(brand),修正 $screen_width的 取值(windowWidth)
584 |
585 | ## 1.10.5 (2018-09-19)
586 |
587 | * 增加 $url_query
588 | * 增加 sa.initWithOpenid(options,callback) callback(openid)
589 | * 增加sa.status.referrer sa.status.laster_referrer
590 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | 软件名称:神策分析 SDK
2 | 版本号:所有版本
3 | 许可协议版本:1.0
4 |
5 | 1. 商业许可协议(用于商业用途需购买许可)
6 | 任何商业用途必须获得商业许可。
7 |
8 | 商业许可协议条款:
9 |
10 | - 商业用途:任何直接或间接产生收入的用途都需要购买商业许可。
11 | - 付款条款:在使用本软件用于商业用途之前,您必须支付全额许可费用。具体的付款方式将在双方联系后提供。
12 | - 商业支持:购买商业许可后,您将获得一年的技术支持和软件更新服务。
13 | - 禁止再许可:商业用户不得再许可、转售或转让本软件。每份商业许可仅适用于单一实体或公司。
14 | - 源代码访问:购买商业许可的用户将获得本软件的代码访问权限,并可根据业务需求进行内部修改。但不得公开发布或再分发修改后的版本。
15 | - 使用范围限制:商业许可仅限于购买者的内部使用,不得与第三方共享或用于为第三方提供服务。任何超出许可范围的使用行为均需额外授权,并可能产生额外费用。
16 | - 联系信息:如需购买商业许可,请联系 dv@sensorsdata.com。
17 | - 知识产权声明:本软件的版权归神策网络科技(北京)有限公司所有。购买商业许可仅授予您使用权,所有权仍归属本公司。
18 | - 终止条款: 如果您未支付相关费用或违反本协议的任何条款,商业许可将自动终止。您必须立即停止所有商业用途,并销毁或删除所有软件副本。
19 |
20 | 2. 附加授权规则条款
21 | 授权规则条款:
22 |
23 | - 功能限制:未经本软件作者的明确书面许可,您不得移除、绕过或规避本软件中的任何功能限制或试用限制。
24 | - 商标使用:未经授权,您不得在宣传、市场推广或销售产品时使用本软件的名称、商标或品牌标识。任何商标使用必须得到明确的书面许可。
25 | - 修改条款:本协议的条款可能会不时更新,用户有责任定期检查最新版本。任何重大更改将通过项目主页或电子邮件通知用户。
26 |
27 | 3. 联系方式
28 | 如需更多信息或申请商业许可,请联系 dv@sensorsdata.com。
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.sensorsdata.cn/)
2 |
3 |
4 | [](https://github.com/sensorsdata/sa-sdk-miniprogram/blob/master/LICENSE)
5 | [](https://github.com/sensorsdata/sa-sdk-miniprogram/releases)
6 |
7 | # sa-sdk-miniprogram
8 | ## 神策简介
9 |
10 | [**神策数据**](https://www.sensorsdata.cn/)
11 | (Sensors Data),隶属于神策网络科技(北京)有限公司,是一家专业的大数据分析服务公司,大数据分析行业开拓者,为客户提供深度用户行为分析平台、以及专业的咨询服务和行业解决方案,致力于帮助客户实现数据驱动。神策数据立足大数据及用户行为分析的技术与实践前沿,业务现已覆盖以互联网、金融、零售快消、高科技、制造等为代表的十多个主要行业、并可支持企业多个职能部门。公司总部在北京,并在上海、深圳、合肥、武汉等地拥有本地化的服务团队,覆盖东区及南区市场;公司拥有专业的服务团队,为客户提供一对一的客户服务。公司在大数据领域积累的核心关键技术,包括在海量数据采集、存储、清洗、分析挖掘、可视化、智能应用、安全与隐私保护等领域。 [**More**](https://www.sensorsdata.cn/about/aboutus.html)
12 |
13 | ## 神策埋点 SDK 官网
14 | 如需了解神策埋点 SDK 的更多商业授权信息,请访问[神策埋点 SDK 官网](https://jssdk.debugbox.sensorsdata.cn/)获取更多详细信息。
15 |
16 | ## 联系我们
17 | 若您有商业合作或产品集成需求,请通过下面的渠道联系我们获取专业服务与支持。
18 |
19 | | 加微信号:skycode008,或扫码添加联系人 | 扫码关注「神策埋点 SDK」公众号  |
20 | | ------ | ------ |
21 |
22 | ## 使用方法
23 |
24 | 使用方法请参考文档 https://manual.sensorsdata.cn/sa/latest/tech_sdk_client_mp_wx-1573892.html
25 |
26 | 注意 SDK 可能不完全向前兼容,请查看版本更新说明 [CHANGELOG.md](CHANGELOG.md)。如果有说明不兼容的话,需要升级神策分析对应的版本。
27 | 请根据需要前往 [Releases](https://github.com/sensorsdata/sa-sdk-miniprogram/releases) 里下载对应的文件
28 |
29 | ## 版本更新记录
30 |
31 | 请参见 [CHANGELOG.md](CHANGELOG.md)
32 |
33 |
34 | ## License
35 |
36 | [License 协议](LICENSE)
37 |
--------------------------------------------------------------------------------
/demo/kbone/README.md:
--------------------------------------------------------------------------------
1 | # vue-kbone
2 |
3 | 基于 [kbone Vue 项目模板](https://developers.weixin.qq.com/miniprogram/kbone/docs/guide/quickstart.html#%E4%BD%BF%E7%94%A8%E6%A8%A1%E6%9D%BF%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91) 展示如何在 kbone 项目里使用神策微信小程序 SDK。
4 |
5 | 参考官网[自定义 app.js](https://developers.weixin.qq.com/miniprogram/kbone/docs/guide/advanced.html#%E8%87%AA%E5%AE%9A%E4%B9%89-app-js-%E5%92%8C-app-wxss) 修改 webpack 配置文件,补上 app.js 构建入口
6 |
7 | SDK 相关代码详见 `src/app.js` 、`src/home/Index.vue`
8 |
9 |
10 | ```
11 | npm run mp
12 | ```
13 | * 小程序端:使用开发者工具打开 dist/mp 目录即可。
--------------------------------------------------------------------------------
/demo/kbone/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |