shumou-sdk-mini
v1.1.8
Published
小程序数据统计功能,类似友盟,神策等
Downloads
17
Readme
前提准备
在数谋后台,将自己的小程序 appid
绑定在自己的账号下,如果直接使用sdk会初始化失败
小程序请求域名
安装
npm install --save shumou-sdk-mini
# or
yarn add shumou-sdk-mini
API
说明及使用
// js
const { shumou } = require('shumou-sdk-mini')
// ts
import { shumou } from 'shumou-sdk-mini'
初始化及字段说明 shumou.config shumou.init
shumou.config({
// 此处 `appId` 是必传字段,就是小程序的 `appId`,需要商家提前在数谋后台绑定
appId: "wx131231231231",
// 对接小程序的版本
miniAppVersion: "1.0.0",
// 用户ID 是否使用 openid 作为唯一键,默认 false
isUseOpenId: false,
// 是否支持对分享数据上报
followShare: false
})
shumou.init()
shumou标示(选用) shumou.setOpenId
初始化 sdk,系统录入用户身份,这里sdk会默认使用一个随机字符串作为用户的标示ID,也可以使用用户的 openid
作为唯一标示
shumou.config({
appId: "appId",
isUseOpenId: true
})
// 一定要在 init() 前设置 openid 值
shumou.setOpenId("openId")
shumou.init()
会员身份 shumou.setCustomerLoginUserId
为了保证数据统计的准确性,需要用户在登录后调用该方法传入用户的真实编号
shumou.config({
appId: "appId"
})
// 初始化位置不做要求
shumou.init()
// 一定要在会员登录后将会员标号传入
shumou.setCustomerLoginUserId("userId")
数据上报 shumou.trackEvent
shumou.trackEvent(eventId, {key,value})
这个上报中,eventId
可以从 sdk 中获取默认的事件名及对应的类型数据
const { DEFAULT_EVENTS_TYPES, DEFAULT_EVENTS } = require('shumou-sdk-mini')
// DEFAULT_EVENTS_TYPES 会约束传递参数的类型
shumou.trackEvent<DEFAULT_EVENTS_TYPES.IShareShop>(DEFAULT_EVENTS.SHOP_SHARE, {shopId: 'a1321312'})
坑位推荐数据获取 shumou.shumouRecommend
数谋会根据用户上报数据帮助商家分析出推荐商品,可在适当的位置上获取数谋推荐的商品数据供用户选择
shumou.shumouRecommend("SHOP_CART").then(res => goodsList)
此 api
返回一个 promise
,参数就是位置参数,传入不同的坑位标示,数谋会返回不同的推荐数据
坑位枚举:
export enum SHUMOU_RECOMMEND_ENUM {
// 购物车
SHOP_CART = 'SHOP_CART',
// 商品详情
GOODS_DETAIL = 'GOODS_DETAIL',
// 商品列表
GOODS_LIST = 'GOODS_LIST',
// 个人中心
USER_CENTER = 'USER_CENTER',
// 会员中心
CUSTOMER_CENTER = 'CUSTOMER_CENTER',
// 收藏商品
COLLECT_GOODS = 'COLLECT_GOODS',
// 支付成功页
PAY_SUC = 'PAY_SUC',
// 分类
GOODS_CATE = 'GOODS_CATE',
// 魔方
MAGIC_BOX = 'MAGIC_BOX',
// 分类页
CATE_PAGE = 'CATE_PAGE'
}
该枚举可直接从 sdk
导入。
import { SHUMOU_RECOMMEND_ENUM } from 'shumou-mini-sdk'
原生
// app.js 文件
shumou.config({
appId: "7788482fdsafsafsaf"
})
shumou.init()
// 在任意处上报数据
shumou.trackEvent("shop", {shopId: 'a1321312'})
taro(typescript)
// 在 global.d.ts 文件内添加
// 该声明只为了让 shumou 对象注入到
declare namespace Taro {
namespace shumou {
interface ITrackEvent {
trackEvent<T>(key: string, value: T): void
setCustomerLoginUserId(userId: string): void
}
}
let shumou: shumou.ITrackEvent
}
// 在 app.ts 中初始化
shumou.config({
appId: "13123123123123123"
})
shumou.init()
// 由于上面的全局声明,这里可以将shumou对象注入到 Taro 对象下,这样可以在任何地方使用了
Taro.shumou = shumou
// 上报方法 在任意处使用该API上报
Taro.shumou.trackEvent(eventId, {key,value})
关于数谋导购分享参数 shumouCode
shumouCode
为数谋内部加密字符,对接小程序不需要关注,如果要统计导购分享后的点击量成交量这类数据时,就需要这个字段
生成二维码
可以拼接在路径后生成有限次码
pages/home/index?shumouCode=32132135fdsg1321
或者将参数设置在 secen
中生成无限次码
小程序端处理
如果通过其他方式获取到 shumouCode
字段,那么也可以通过如下方式传输,只要在任意路径中携带该参数即可
pages/cart/index?shumouCode=32132135fdsg1321
sdk
会自动截取该参数,即可获取导购信息正确上报数据
主动设置
新增API,可主动设置该字段
Taro.shumou.setCustomerShumouCode(shumouCode);
默认事件名及类型对照表
DEFAULT_EVENTS
对象包含了事件名
DEFAULT_EVENTS_TYPES
事件类型
事件对照表:
事件名 | 事件ID | 参数类型 | 参数 | 是否追加导购ID
---|---|---|---|---
页面浏览记录 | CURRENT_PAGE
| 默认事件 | -| -
分享记录 | SHARE_PATH_SRC
| 默认事件 | - | -
店铺分享 | DEFAULT_EVENTS.SHOP_SHARE
| DEFAULT_EVENTS_TYPES.IShopShare
| { "parentId": "A321321", "shopId": 'A123321'}
| 否
浏览店铺 | DEFAULT_EVENTS.SHOP_VIEW
| DEFAULT_EVENTS_TYPES.IShopView
| { "parentId": "A321321", "shopId": 'A123321'}
| 否
商品分享 | DEFAULT_EVENTS.GOODS_SHARE
| DEFAULT_EVENTS_TYPES.IGoodsShare
| { "parentId": "A321321", "shopId": 'A123321', "spuId": "33123213", "skuId": ""}
| 否
浏览商品 | DEFAULT_EVENTS.GOODS_VIEW
| DEFAULT_EVENTS_TYPES.IGoodsView
| { "parentId": "A321321", "shopId": 'A123321', "spuId": "424243242", "skuId": "g13213213"}
| 否
下单 | DEFAULT_EVENTS.CREATE_ORDER
| DEFAULT_EVENTS_TYPES.ICreateOrder
| { "parentId": "A321321", "shopId": 'A123321', "tid": "TC3131321"}
| 否
店铺收藏 | DEFAULT_EVENTS.FAVORITE_SHOP
| DEFAULT_EVENTS_TYPES.IFavoriteShop
| { "parentId": "A321321", "shopId": 'A123321'}
| 否
加入购物车 | DEFAULT_EVENTS.ADD_CART
| DEFAULT_EVENTS_TYPES.IAddCart
| { "parentId": "A321321", "shopId": 'A123321', "skuId": "g12321", "spuId": "123123", "count": 1}
| 否
浏览导购分享的商品 | DEFAULT_EVENTS.GUIDE_GOODS_VIEW
| DEFAULT_EVENTS_TYPES.IGoodsView
| { "parentId": "A321321", "shopId": 'A123321', "spuId": "424243242", "skuId": "g13213213"}
| 是
浏览导购分享的营销活动 | DEFAULT_EVENTS.GUIDE_MC_VIEW
| DEFAULT_EVENTS_TYPES.IMcShare
| { "parentId": "A321321", "shopId": 'A123321', "actId": "mc1312312321321321", "mcType": "COUPON"}
| 是
数谋注册引导 | GUIDE_REGISTER
| | {"parentId": "A321321", "shopId": 'A123321'}
| 是
mcType
是营销的类型,COUPON
优惠券,LIMIT_DISCOUNTS
限时折扣
字段说明:
字段名 | 描述 ---|--- parentId | 总部编号 shopId | 门店编号 userId | 用户会员编号 guideId | 导购ID spuId/skuId | 商品对应ID tid | 订单编号
上报字段说明
基础数据,每次上报必传 base:
字段名 | 描述 ---|--- appId | 小程序 appid shumouUserId | 用户数谋编号 idType | 用户类型 UUID/OPENID ts | 时间戳 sdkVersion | sdk 版本 sessionId | 会话 deviceType | 设备型号 systemVersion | 手机系统版本 guideId | 导购ID miniAppVersion | 对接小程序版本 userId | 会员实际编号
分析数据,是个数组 analytics:
字段名 | 描述 ---|--- eventId | 事件名,上文中的事件表中的事件 args | 上报的数据 eventType | 事件类型 "DEFAULT_EVENT" / "CUSTOME_EVENT" ts | 时间戳