百度小程序 SDK

1. 使用方法

1.1 将 https://stm-collect.cn.miaozhen.com 添加合法域名

添加合法域名图

1.2 添加SDK

将sdk压缩包内 sm_baidu.jssm_baidu_option.js两个文件放在小程序项目同一文件夹下。<br>app.js 的起始位置引⼊ sm_baidu.js

------app.js
  var smwt = require('./utils/sm_baidu.js')
  App({
    onLaunch : function( options ){
      smwt.setAppVersion('xxx')
    },
    onShow ( options ){
      // 页面代码
    }
   })

sm_baidu_option.js ⽂件中更改配置

------./utils/sm_baidu_option.js
  // 'appid'传入实际当前小程序的appid
  exports.appid = 'appid'
  // 'trackid'填入SiteMonitor后台创建站点时生成的站点id,如dc-2194
  exports.trackid = 'trackid'
  // sdk是否自动收集页面浏览事件pageview,默认为 true
  exports.autoPV = true 
  // 收集页面浏览事件的路径白名单,将'path/to/page'替换成需加入白名单的页面路径,该页面将发pv
  exports.whitePVList = ['path/to/page']
  // 收集页面浏览事件的路径黑名单,将'path/to/page'替换成需加入黑名单的页面路径,该页面将不发pv
  exports.blackPVList = ['path/to/page']

注:黑白名单均可不设置,均不支持虚拟页面的页面路径。当自动收集pv设置为 true 时,仅黑名单生效;当自动收集pv为 false 时,仅白名单生效。

1.3 页面标题

在需要标题的Page中配置 title

Page({
  // 静态标题,将"页面标题"替换成实际页面标题
  smwtTitle: '页面标题',
  onShow() {
      // 页面代码
  }
})

1.4 事件埋码

1.4.1 发送事件
------index.js;
// Page中添加监测代码需在JS顶部引入App
const app = getApp();
Page({
  onShow() {},
  click() {
    // 发送事件
    app.smwt.track("event", "事件分类", "事件动作", "事件标签", 1);
  }
});

在使用时,替换以上中文内容即可。 其中,

字段名称 数据类型 字段含义 使用注意项
ec 字符串 事件分类 必填项
ea 字符串 事件动作 必填项
el 字符串 事件标签 非必填项
ev 浮点型 事件价值 (非事件次数,系统默认对事件进行计数) 非必填项,长度不超过1MB
1.4.2 发送自定义事件

字段名称数据类型字段含义使用注意项customActionId正整型自定义事件报告ID必填,需与后台的配置对应customActionLabelN字符串第N个维度支持20个维度,至少要使用一个维度customActionValueN正整型地N个指标支持20个指标,至少要使用一个指标

代码如下:

------index.js;
// Page中添加监测代码需在JS顶部引入App
const app = getApp();
Page({
  onShow() {},
  click() {
    // 发送自定义事件,自定义事件id及自定义事件维度、指标数均以实际在系统中创建的自定义事件为准
    app.smwt.track("event", {
      customActionId: 1,
      customActionLabel1: "",
      customActionLabel2: "",
      customActionLabel3: "",
      customActionLabel4: "",
      customActionValue1: 1
    });
  }
});
字段名称 数据类型 字段含义 使用注意项
customActionId 正整型 自定义事件报告ID 必填,需与后台的配置对应
customActionLabelN 字符串 第N个维度 支持20个维度,至少要使用一个维度ßßß
customActionValueN 正整型 地N个指标 支持20个指标,至少要使用一个指标

1.5 虚拟PV

虚拟PV代码允许触发特定事件时将其作为虚拟网页浏览处理,允许自定义页面的路径与页面标题。

------index.js
  // Page中添加监测代码需在JS顶部引入App
  const app = getApp()
  Page({
    onShow(){},
    click(){
      // 将'path/to/page'替换成自定义的页面路径,将'title'替换为自定义的页面标题,
      app.smwt.track('pageview', 'path/to/page', 'title')
    }
  });

1.6 用户信息设置(非必需)

建议以下两种情况通过小程序获取用户信息时均进行调⽤。

  • 用户未授权情况下:⽤户授权页面首次通过 button 拉起用户授权。在用户确认授权后首次获取用户信息时。
  • ⽤户在已授权的情况下:初始化小程序时在 app.js 中获取用户信息时。
swan.getUserInfo({
  success: res => {
    // 在app.js文件中进行用户信息的设置
    app.smwt.setUser(res.userInfo)
    // 在后续的请求中传入用户openid,将"openID"替换为用户实际的openid
    app.smwt.setOpenId('openID')
    // 在后续的请求中传入用户unionid,将"unionID"替换为用户实际的unionid
    app.smwt.setUnionId('unionID')
  }
})

1.7 设置用户的swanid

swan.getSwanId({
  success: (res) => {
    app.smwt.setSwanId(res.data.swanid)
  }
})

1.8 设置小程序版本

// 将"xxx"替换为百度小程序项目实际版本
app.smwt.setAppVersion('xxx')

1.9 自定义维度与指标

维度与指标均以实际在系统中创建的自定义维度与指标为准 <br> 设置自定义维度或指标

// 第一个参数可选值为:dimension[1-100],第二个参数为 自定义维度值
app.smwt.setCD('dimension1', 'xxx')
// 第一个参数可选值为:metric[1-25],第二个参数为 自定义指标值
app.smwt.setCM('metric1', 'xxx')

删除自定义维度或指标

app.smwt.delCD('dimension1')
app.smwt.delCM('metric1')

2. 各开发框架使用说明

2.1 uni-app 小程序框架集成 SDK

2.1.1 集成与初始化

在项目的 main.js 中通过 import 引入 SDK,sm_baidu.js 必须在 vue 之前引入

import './sm_baidu.js'
import Vue from 'vue'
import App from './App'
2.1.2 Page 中指定标题和追踪自定义事件

页面标题可以在created、onLoad或者onShow中指定

const app = getApp()
export default {
  onShow () {
    // 页面标题
    this.$scope.smwtTitle = '页面标题'
    //示例:一个自定义事件
    app.smwt.track('event', '事件分类', '事件动作', '事件标签', 1)
  },
  data () {
    return {}
  },
  methods: {

  }
}

2.2 mpvue 小程序框架集成 SDK

注:避免mpvue编译后报错,建议将sm_baidu.js与sm_baidu_option.js 放在static文件夹

2.2.1 集成与初始化

在项目的 main.js 中通过 import 引入 SDK,sm_baidu.js 必须在 vue 之前引入

import '../static/sm_baidu.js'
import Vue from 'vue'
import App from './App'
2.2.2 Page 中指定标题和追踪自定义事件

页面标题可以在onLoad或者onShow中指定

const app = getApp()
export default {
  onShow () {
    // 页面标题
    this.$mp.page.smwtTitle = '页面标题'
    //示例:一个自定义事件
    app.smwt.track('event', '事件分类', '事件动作', '事件标签',1)
  },
  data () {
    return {}
  },
  methods: {

  }
}

2.3 wepy 小程序框架集成 SDK

注:目前该版本sdk开发测试基于wepy-cli@1.7.3-alpha5

2.3.1 集成与初始化

在项目的 app.wpy 中通过 import 引入 SDK,sm_baidu.js 必须在 wepy 之前引入

import './sm_baidu.js';
import wepy from '@wepy/core';
2.3.2 Page 中指定标题和追踪自定义事件

页面标题可以在created、onLoad或者onShow中指定

const app = getApp()
export default {
  onShow () {
    // 页面标题
    this.$wxpage.smwtTitle = '页面标题'
    //示例:一个自定义事件
    app.smwt.track('event', '事件分类', '事件动作', '事件标签', 1)
  },
  data () {
    return {}
  },
  methods: {

  }
}

2.4 taro 小程序框架集成 SDK

2.4.1 集成与初始化

在项目的 app.jsx 中通过 import 引入 SDK(sm_baidu.js)

import Taro, { Component } from '@tarojs/taro'
import { Provider } from '@tarojs/mobx'
import Index from './pages/index'
import './sm_baidu.js'
2.4.2 Page 中指定标题和追踪自定义事件

页面标题可以在componentWillMount或者componentDidShow中指定

import Taro, { Component } from '@tarojs/taro'
const app = Taro.getApp();
class Index extends Component {
  componentWillMount () {
    // 页面标题
    this.$scope.smwtTitle = '首页'
    //示例:一个自定义事件
    app.smwt.track('event', '事件分类', '事件动作', '事件标签', 1)
  },

  config = {
    navigationBarTitleText: '首页'
  }

  render () {}
}

results matching ""

    No results matching ""