shumou-sdk-mini
TypeScript icon, indicating that this package has built-in type declarations

1.1.8 • Public • Published

前提准备

在数谋后台,将自己的小程序 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 时间戳

Readme

Keywords

none

Package Sidebar

Install

npm i shumou-sdk-mini

Weekly Downloads

6

Version

1.1.8

License

ISC

Unpacked Size

34.8 kB

Total Files

13

Last publish

Collaborators

  • caoshiping