智能分析
  • 文档导引
  • 产品使用文档
  • 基础概念解释
    • 事件
    • 属性
    • 指标
    • 用户与用户群
    • 筛选条件
    • 分析维度
    • 时间范围
    • 时间聚合度
  • 分析模块
    • 事件分析
    • 留存分析
    • 间隔分析
    • 分布分析
    • 归因分析
    • 漏斗分析
    • 路径分析
    • 用户分析
    • Session分析
  • 用户分群
  • 管理
    • 元事件管理
    • 事件属性与用户属性
    • Session管理
    • 虚拟事件
  • 书签管理
  • 成员与权限
  • 监控预警
  • 项目管理
  • 基础设置
  • 看板&看板组
  • 技术指南
    • 基础知识
      • 数据格式
      • 数据模型
      • 用户的标识与关联
      • 如何标识新用户
      • 预置事件与预置属性
        • 客户端SDK预置
          • App SDK
          • Web JS SDK
          • 微信小程序
  • SDK使用
    • 客户端SDK
      • Android SDK
      • iOS SDK
      • 小程序SDK
      • Web JS SDK
    • 服务端SDK
      • Java SDK
由 GitBook 提供支持
在本页
  • 微信小程序 SDK 快速接入
  • 事件设计表
  • 引入 SDK
  • 自定义事件追踪
  • 设置用户属性
  • 用户标识
  • 使用 openid 作为匿名 ID
  • 匿名 ID 和用户 ID 关联
  • 注意事项

这有帮助吗?

  1. SDK使用
  2. 客户端SDK

小程序SDK

微信小程序 SDK 快速接入

事件设计表

事件设计表一般是由数据分析工作台分析师和你们对接的同事,针对具体业务需求一起梳理的需要做埋点的 Excel 表。

事件和用户属性设计

事件表

用户表

事件名(带 $ 符号的为数据分析工作台预置事件,开启全埋点自动采集)

事件属性

用户属性

小程序启动事件( $MPLaunch )

预置事件属性

预置的用户属性(开启全埋点自动采集)

小程序显示事件( $MPShow )

预置事件属性

邮箱( email )

小程序进入后台事件( $MPHide )

预置事件属性

小程序页面浏览事件( $MPViewScreen )

预置事件属性

小程序分享事件( $MPShare )

预置事件属性

搜索事件( search )

搜索关键词( searchKeyWord )

引入 SDK

下载文件

从 Github 上下载微信小程序SDK,zalldata.min.js 。

引入并配置参数

把文件放在小程序项目中,然后在 app.js 中通过 require() 引入文件 ; 调用 setPara() 方法设置初始化参数

注意:必须在 require() 之后,立即调用 setPara() 方法设置 小程序 app.js 的顶部引入如下代码:

 ------app.js
 ​
   var sa = require('./utils/zalldata.min.js');
 ​
   sa.setPara({
 ​
 •    name: 'zall',
 ​
 •    server_url: '数据接收地址'
 ​
   });

标志初始化完成

如果异步的获取 openid 等操作已经完成,此时调用 init() 方法标志已完成初始化

注意: init() 方法必须调用,否则不会发数据

 ------app.js
 ​
   var sa = require('./utils/zalldata.min.js');
 ​
   sa.setPara({
 ​
 •    name: 'zall',
 ​
 •    server_url: '数据接收地址'
 ​
   });
 ​
   sa.init();

小程序页面中采集事件

现在在其他 Page 里就可以通过 getApp() 来使用数据分析工作台的追踪了

 var app = getApp();
 app.zall.track(eventName, properties) // 第一个参数事件名 字符串类型,第二个参数 属性值 对象类型

自定义事件追踪

SDK 初始化成功后,即可以通过 app.zall.track(event_name,properties) 记录事件:

event_name:string,必选。表示要追踪的事件名。 properties:object,可选。表示这个事件的属性。

例如:埋点 “ViewProduct” 事件,事件属性有商品名称,姓名等。

 // 追踪浏览商品事件。
 ​
 var app = getApp();
 ​
 app.zall.track('ViewProduct', {
 ​
   ProductName: "MacBook Pro",
 ​
   ProductPrice: 125.55
 ​
 });

设置用户属性

SDK 初始化成功后,即可以通过 app.zall.setProfile(properties) 设置用户属性,如果之前存在同名属性则覆盖:

properties:object,必选。表示要设置的用户的属性。

 var app = getApp();
 ​
 app.zall.setProfile({
 ​
   name: 'xxx',
 ​
   gender:'male'
 ​
 });

用户标识

在进行任何埋点之前,都应当先确定如何标识用户。distinct_id 是数据分析工作台用来标识用户的一段唯一的字符串。

在小程序中,会有下面 3 种 id

1、默认情况下,我们会生成一个随机数 uuid ,保存在 weixin storage 中,我们暂时称这个为 uuid

2、用户打开小程序,我们可以获得用户的 weixin openid ,我们暂时称这个为 openid

3、客户用户账号体系中产生或保存的真实用户 id 。我们暂时称为 "你们服务端分配给用户具体的登录 ID"

使用 openid 作为匿名 ID

如果不做任何操作,小程序会使用 uuid 作为 distinct_id ,但是这个 uuid 换了设备,或者删除小程序,会重新生成。 所以一般情况下,我们建议使用 openid 作为当前的 distinct_id。 因为获取 openid 是一个异步的操作,但是冷启动事件等会先发生,这时候这个冷启动事件的 distinct_id 就不对了。 所以我们会把先发生的操作,暂存起来,等获取到 openid 后再调用 zall.init() 才会发数据。 下面是常见的两种获取 openid 的初始化代码。

 -------app.js 
  
 var zall = require('zalldata.min.js');
 ​
 zall.setPara({
 ​
   name: '',
 ​
   server_url: '数据接收地址'
 ​
 });
 //此处代码仅供参考
 ​
 wx.request({
 ​
   url: '获取 openid 的后端请求接口',
 ​
   success: function(data){
 ​
 •    // 如果你们能获取到openid
 ​
 •    zall.setOpenid(openid);
 ​
   },
 ​
   complete: function(){
 ​
 •    zall.init();
 ​
   }
 ​
 });

注意:init() 方法不调用就不会发送数据,只会将数据保存到队列中,确保获取 openid 成功和失败的时候都调用 init() 方法

 -------app.js 
 ​
  
 ​
 var zall = require('zalldata.min.js');
 ​
 // 如果后端做了 appid 和 appsecret 的配置,以及 zalldata_conf 里有 appid 的配置
 ​
 zall.setPara({
 ​
   appid:'',
 ​
   name: '',
 ​
   server_url: '数据接收地址'
 ​
 });
 ​
 zall.initWithOpenid();

匿名 ID 和用户 ID 关联

默认情况下 ,SDK 会分配一个匿名 ID (uuid) 来标识游客。当用户注册成功或登录成功时调用 login 方法,传入对应的用户 ID ;匿名 ID 会与对应的用户 ID 进行关联,关联成功之后视为同一个用户。 调用时机:注册成功、登录成功 、初始化 SDK(如果能获取到用户 ID)都需要调用 login 方法传入用户 ID。

-------app.js 

 

var zall = require('zalldata.min.js');

zall.setPara({

  name: '',

  server_url: '数据接收地址'

});

// 如果能获取到"你们服务端分配给用户具体的登录 ID",需要做用户关联情况下

zall.login("你们服务端分配给用户具体的登录 ID");

zall.init();

数据分析工作台分析模块查看具体的数据。

注意事项

各端埋点时事件名、事件属性类型要保持一致。

小程序中数据接收地址 server_url 需要配置到服务器域名中,且必须为 https 协议的

上一页iOS SDK下一页Web JS SDK

最后更新于4年前

这有帮助吗?