1. 预置属性

在小程序页面的 js 中使用该方法可以获取预置属性

app.js

var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
	name: 'sensors',
	server_url: '数据接收地址',
});
sa.init();

JS

index.js

var app = getApp();
Page({
	onShow: function(){
		console.log(app.sensors.getPresetProperties());
	}
});
JS

此方法可获取 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_id1.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_id1.9以上
$share_depth数值分享次数1.9以上
$share_url_path字符串分享时的页面路径1.9以上
$url_query字符串页面参数1.10.4以上

1.4. $MPHide (小程序进入后台)事件的预置属性

字段名称类型说明SDK 版本
$event_durationNUMBER从本次小程序显示 $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=bar1.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_timeDatetime首次访问时间,新用户第一次来到嵌有神策 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 属性;