微信小程序 SDK 预置属性
最后更新于:2019-11-29 10:47:01
1 预置属性
获取预置属性:
在根目录的 app.js 中使用该方法
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
name: 'sensors',
server_url: '数据接收地址',
});
sa.init();
------index.js
var app = getApp();
Page({
onShow: function(){
console.log(app.sensors.getPresetProperties());
}
});
此方法可获取 SDK 版本、操作系统、操作系统版本、设备型号、网络类型、屏幕宽高、页面路径、最近一次渠道来源的相关属性。需要在获取完网络状态与设备信息、页面加载完成后调用此方法。
1.1 所有事件都有的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$lib | 字符串 | SDK 类型 | |
$lib_version | 字符串 | SDK 版本 | |
$screen_height | 数值 | 小程序屏幕高度 | |
$screen_width | 数值 | 小程序屏幕宽度 | |
$model | 字符串 | 设备型号 | |
$manufacturer | 字符串 | 设备制造商 | 1.11.1 支持 |
$network_type | 字符串 | 网络类型 | |
$os | 字符串 | 操作系统 | |
$os_version | 字符串 | 操作系统版本 | |
$is_first_day | 布尔类型 | 是否首日访问(从新用户第一次访问到当天的凌晨十二点之间的值都为真,之后都为假,标识存在 storage 缓存中) | |
$ip | 字符串 | SDK 发送数据请求携带的属性 | |
$country | 字符串 | 由 IP 解析得到 | |
$province | 字符串 | 由 IP 解析得到 | |
$city | 字符串 | 由 IP 解析得到 | |
$latest_utm_source | 字符串 | 最近一次付费广告系列来源(参考本章文档 2.1-2.4 的解释) | 1.3 支持 |
$latest_utm_medium | 字符串 | 最近一次付费广告系列媒介(参考本章文档 2.1-2.4 的解释) | 1.3 支持 |
$latest_utm_term | 字符串 | 最近一次付费广告系列字词(参考本章文档 2.1-2.4 的解释) | 1.3 支持 |
$latest_utm_content | 字符串 | 最近一次付费广告系列内容(参考本章文档 2.1-2.4 的解释) | 1.3 支持 |
$latest_utm_campaign | 字符串 | 最近一次付费广告系列名称(参考本章文档 2.1-2.4 的解释) | 1.3 支持 |
$latest_scene | 字符串 | 最近一次启动场景值 | 1.9 支持 |
1.1.1 UserAgent 相关的预置属性
这一系列的属性从浏览器的 UserAgent 中进行解析。
字段名称 | 类型 | 说明 |
---|---|---|
$bot_name | 字符串 | 爬虫名称(如果是爬虫) |
注意:
1.$screen_height 在 1.11.1 版本之前字段名称为‘小程序窗口高度’,取的值是小程序可使用窗口高度
2.$screen_width 在 1.11.1 版本之前字段名称为‘小程序窗口宽度’,取的值是小程序可使用窗口宽度
3.wx.getSystemInfo 微信小程序提供的接口获取系统信息。
1.2 $MPLaunch (小程序启动)事件的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$scene | 字符串 | 启动场景 | 1.0以上 |
$url_path | 字符串 | 页面路径 | |
$utm_source | 字符串 | 广告系列来源(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_medium | 字符串 | 广告系列媒介(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_term | 字符串 | 广告系列字词(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_content | 字符串 | 广告系列内容(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_campaign | 字符串 | 广告系列名称(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$is_first_time | 布尔类型 | 是否首次访问,新用户首次触发这个事件标识为真 | 1.8以上 |
$share_distinct_id | 字符串 | 分享时的 distinct_id | 1.9以上 |
$share_depth | 数值 | 分享次数 | 1.9以上 |
$share_url_path | 字符串 | 分享时的页面路径 | 1.9以上 |
$url_query | 字符串 | 页面参数 | 1.10.4以上 |
其中场景值的概念及取值可以参考微信小程序的官方介绍场景值
1.3 $MPShow (小程序显示)事件的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$scene | 字符串 | 启动场景 | 1.0以上 |
$url_path | 字符串 | 页面路径 | |
$utm_source | 字符串 | 广告系列来源(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_medium | 字符串 | 广告系列媒介(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_term | 字符串 | 广告系列字词(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_content | 字符串 | 广告系列内容(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$utm_campaign | 字符串 | 广告系列名称(参考本章文档 2.1-2.4 的解释) | 0.9以上 |
$share_distinct_id | 字符串 | 分享时的 distinct_id | 1.9以上 |
$share_depth | 数值 | 分享次数 | 1.9以上 |
$share_url_path | 字符串 | 分享时的页面路径 | 1.9以上 |
$url_query | 字符串 | 页面参数 | 1.10.4以上 |
1.4 $MPHide (小程序进入后台)事件的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$event_duration | NUMBER | 从本次小程序显示 $MPShow 到 $MPHide 小程序进入后台或者关闭的时间 | 1.1及以上 |
$url_path | 字符串 | 页面路径 | 1.5及以上 |
1.5 $MPViewScreen (小程序页面浏览)事件的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$url_path | 字符串 | 页面路径 | 0.9版本之前为 $url |
$url_query | 字符串 | 页面参数,比如小程序页面路径为 page/index/index?ceshi=bar,那么页面参数为 ceshi=bar | 1.10.4以上 |
$referrer | 字符串 | 前向页面地址 | 0.9以上 |
$utm_source | 字符串 | 广告系列来源 | 0.9以上,1.12.10版本以下,1.13.7以上 |
$utm_medium | 字符串 | 广告系列媒介 | 0.9以上,1.12.10版本以下,1.13.7以上 |
$utm_term | 字符串 | 广告系列字词 | 0.9以上,1.12.10版本以下,1.13.7以上 |
$utm_content | 字符串 | 广告系列内容 | 0.9以上,1.12.10版本以下,1.13.7以上 |
$utm_campaign | 字符串 | 广告系列名称 | 0.9以上,1.12.10版本以下,1.13.7以上 |
1.6 $MPShare (小程序分享)事件的预置属性:
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$share_depth | 数值 | 分享次数 | 1.9以上 |
$url_path | 字符串 | 分享时的页面路径 | 1.9以上 |
1.7 预置的用户属性
字段名称 | 类型 | 说明 | SDK 版本 |
---|---|---|---|
$first_visit_time | Datetime | 首次访问时间,新用户第一次来到嵌有神策 SDK 微信小程序的客户端时间 | 1.12.9 及以上版本 |
$utm_source | 字符串 | 首次广告系列来源 (参考本章文档 2.3 的解释) | 1.0 及以上版本 |
$utm_medium | 字符串 | 首次广告系列媒介 (参考本章文档 2.3 的解释) | 1.0 及以上版本 |
$utm_term | 字符串 | 首次广告系列字词 (参考本章文档 2.3 的解释) | 1.0 及以上版本 |
$utm_content | 字符串 | 首次广告系列内容 (参考本章文档 2.3 的解释) | 1.0 及以上版本 |
$utm_campaign | 字符串 | 首次广告系列名称 (参考本章文档 2.3 的解释) | 1.0 及以上版本 |
2 渠道相关属性介绍
如何使用神策微信小程序 SDK 进行渠道追踪请参考此文档:小程序渠道追踪
2.1 渠道相关属性
在小程序 App 实例生命周期函数 onLaunch 和 onShow ,还有页面的生命周期函数 onShow 中,我们会自动解析启动参数对象与页面参数对象中的渠道相关参数(包含通过 source_channel 自定义的渠道参数以及预置的 utm 渠道参数)作为这三个预置事件的渠道属性,见截图
2.2 最近一次渠道相关属性
在小程序 App 实例生命周期函数 onLaunch 和 onShow 中,我们会将从启动参数对象中解析出来的渠道参数保存在 $latest_utm 相关属性或 _latest 自定义渠道相关属性变量中;
默认情况下,即 is_persistent_save 设置为 false 的情况下
当下次启动,热启动时,如果启动参数中带有 utm 渠道参数,会将上次启动的$latest_utm 渠道相关属性重置,只保留本次热启动解析出来的 $latest_utm 渠道相关属性;如果启动参数中没有 utm 渠道参数,会保留上次内存中保存的 $latest_utm 相关属性;
冷启动时,$latest_utm 渠道相关属性会自动重置;
最近一次自定义渠道属性(通过 source_channel 设置采集的那些渠道属性)在小程序生命周期(从冷启动到退出)有效,下次冷启动时,会被重置;
is_persistent_save 设置为 true 的情况下
我们会将从启动参数对象中解析出来的渠道参数赋值给 $latest_utm 渠道相关属性或 _latest 自定义渠道相关属性,并将$latest_utm 渠道相关属性或 _latest 自定义渠道相关属性保存到 storage 中;
当下次启动(无论热启动或者冷启动)时,如果启动参数中带有 utm 渠道参数,会将上次启动的 $latest_utm 渠道相关属性重置,只保留本次启动解析出来的 $latest_utm 渠道相关属性;如果启动参数中没有 utm 渠道参数,会保留上次启动解析出来的 $latest_utm 相关属性;
最近一次自定义渠道属性(通过 source_channel 设置采集的那些渠道属性)会一直有效,直到小程序被删除;
2.3 首次渠道的相关属性
在小程序 SDK 发现设备之前没有加载过 SDK ,且冷启动时在小程序 App 实例生命周期函数 onLaunch 中能解析到渠道相关参数(包含通过 souce_channel 自定义的渠道参数以及预置的 utm 渠道参数) 时,会通过 setOnceProfile 来设置用户属性
2.4 特殊处理
扫描普通链接二维码时,会去解析参数对象 query 中的 q 属性;
扫描 getUnlimited() 接口生成的小程序码时,会去解析参数对象 query 中的 scene 属性;