一、授权接入方式
在企点账户中心「企业管理」-「微信小程序账号」中,可以通过扫码指定权限的方式授权接入小程序。
1.小程序中添加客服入口
为了正常获取到访客的基本信息,推荐在小程序中使用以下代码添加入口,并获取小程序用户的昵称、头像、性别、所在地信息,入口样式可以根据微信官方规则进行调整。
<button
open-type="contact"
session-from="nickName={{userInfo.nickName}}|avatarUrl={{userInfo.avatarUrl}}|gender={{userInfo.gender}}|country={{userInfo.country}}|province={{userInfo.province}}|city={{userInfo.city}}"
>联系客服</button>
目前支持了小程序自定义传参能力,使用如下代码添加自定义参数qidiantest
<button
open-type="contact"
session-from="userdef=qidiantest"
>联系客服</button>
并且通过企点openapi拉取微信小程序通路C客户自定义传参,参考https://api.qidian.qq.com/wiki/p-51
2.自定义客服分配
企点目前支持将小程序访客分配给指定的接待分组或者单人接待,在企点账户中心「接待配置」-「微信小程序接入」中配置。
二、小程序行为轨迹
【小程序SDK配置说明】
1、配置小程序域名
登录公众号平台,在[开发]-[开发设置]-[服务器域名]中增加企点域名:https://v.qidian.qq.com
2、申请appkey
使用前需申请appkey。申请入口见企点账户中心-》企业管理-》元数据管理-》开发配置。
私有化上报域名单独提供。
3、代码地址
微信:http://bqq.gtimg.com/CDN/source/da/universal/miniprogram/release/latest/QDTracker.js
通用:http://bqq.gtimg.com/CDN/source/da/universal/miniprogram/release/common/QDTracker.js
4、sdk接入
按微信小程序的能力,小程序上报sdk代码需要跟应用代码一起打包,在app.js里需要加入以下代码
import QDTracker from './utils/QDTracker/QDTracker';
5、初始化
小程序有对应的生命周期,在sdk引入之后到所有生命周期回调之前,应该完成初始化sdk对生命周期是否自动上报做好配置。
/** * 设置分享信息 * @param 必填appid 小程序appid * @param 可选kfuin 主号 * @param 必填appkey 域名对应的appkey * @param 必填useOpenId 是否使用Openid上报,默认为true * @param 可选autoTrack.appLaunch onLaunch 是否自动上报 默认为true * apiHost: 服务器地址 正式:https://v.qidian.qq.com * @param 可选autoTrack.appShow 小程序onShow 是否自动上报 默认为true */ QDTracker.init({ appid:'wx19adbcc3fb4b3f2b', //必填,小程序appid kfuin:'', //选填,主号 appkey:'9cb1c636687313a31bd6837d93611b35', // 必填appkey 域名对应的appkey apiHost: 'https://v.qidian.qq.com' // 服务器地址,saas环境:https://v.qidian.qq.com 私有化环境单独提供 useOpenId:false, //如果使用openid上报,需要自己调用setOpenid,单独微信sdk才有,通用sdk该字段为useId,设置为true后微信,百度需openid,支付宝需aliUserId apiMethod: 'post', post | get encryptMode: 'default', aes | default | close autoTrack:{ appLaunch: true, //onLaunch 是否自动上报 appShow: true, //小程序onShow 是否自动上报 appHide: true, pageShow: true, //小程序页面onShow是否自动上报 pageHide: true, pageShare: true, //单独微信sdk才有,通用sdk没有 // share: true } }) 通用sdk QDTracker.init({ appid:'wx19adbcc3fb4b3f2b', //小程序appid kfuin:'', //主号 appkey:'9cb1c636687313a31bd6837d93611b35', apiHost: 'https://v.qidian.qq.com' useId:false, //设置为true后调用setCommonData微信,百度需openid,支付宝需aliUserId上报, apiMethod: 'post', post | get encryptMode: 'default', aes | default | close autoTrack:{ appLaunch: true, //onLaunch 是否自动上报 appShow: true, //小程序onShow 是否自动上报 appHide: true, pageShow: true, //小程序页面onShow是否自动上报 pageHide: true } })
6、设置通用信息
通用信息在设置后,对每个上报的数据包都生效,此接口可以添加properties里的属性,也可以添加properties平级的属性。小程序支持使用openid或自动生成唯一id标识用户,推荐使用openid标识,使用Openid时,需要指定useOpenId为true初始化,获取用户在小程序下的openid,再调用setCommonData设置 openid,因为appkey是上报必备属性,在设置appkey之前不会上报数据。
/** * 设置通用信息 * @param params1 设置properties中的通用属性,格式如下{company:1,name:222} * @param params2 设置properties平级的通用属性,和一些特殊用户身份字段格式如下{openid:'my_system_id',unionid:'unionid',bussid:'bussid',aliUserId:'aliUserId'} */ QDTracker.setCommonData( params1, //设置properties中的通用属性 params2 //设置properties平级的通用属性,bussid在此处设置 );
7、自定义事件
/** * 上报自定义事件 * @param eventName 事件名 * @param params 扩展字段参数,格式如下{name:'da',age:111} */ QDTracker.track(eventName, params)
8、获取id
通过此接口可以获取用户的唯一信息,页面会缓存qid在localstorage中,若有openid还会返回openid。
/**
*
* @ret 格式如下:{qid: "hm3722.3cvvtt.k0xitczf",openid:"ot6oR5bf85hj4CmsPnqkuhJWvsfI"}
*/
QDTracker.getIDs()
9、设置账户信息
QDTracker.setAccountInfo({userID: 'sssss'})
10、判断上报是否成功
response header中,err_code为0,即为上报成功。否则根据错误码,调整逻辑。上报成功后,可以在企点账户中心->企业管理-》元数据管理-》事件采集中实时看到成功上报的数据。点击事件详情,可以检查事件与属性是否与上报一致。如果上报的事件属性与定义的类型不一致,该属性将会被过滤,请调整上报。