Skip to content

友盟

基础用法

登录友盟+官网,按照引导注册友盟+账号,进入小程序统计后台创建 Appkey,按要求填写小程序名称及类型,复制 Appkey。

js
import uma from '@ifanrx/uni-stats/uma'

// 初始化,应放在 main.js 进行初始化
uma.config('your_appkey', {
  debug: true,
})

// 在 APP.vue 中初始化 userStore 后,设置 openid
userStore.getUser().then(user => {
  uni.uma.setOpenid(user.openid)
})

// 上报 page_view 事件
uma.pageView('your_page_name', 'your/page/path')

// 上报 event 事件
uma.event('your_category', 'your_action', 'your_label', 'your_value')

// 上报任意事件
uma.event('your_event_name', {
  your_event_param1: 'xxx',
  your_event_param2: 'xxx',
  // ...
})

上报场景值

js
onLaunch(options => {
  uma.event('scene', {scene: options.scene, path: options.path})
})

上报页面展示

推荐配合路由守卫使用,避免在每个页面都重复编写上报代码

js
import {useUserStore, router} from '@ifanrx/uni-mp'

const userStore = useUserStore()

router.afterEach((to, from) => {
  // 根据项目情况选择哪种上报方式
  uni.uma.event('page', {
    path: to,
    member_id: userStore.user?.memberId,
    trade_union_id: userStore.user?.tradeUnionId,
  })

  // 根据项目情况选择哪种上报方式
  uni.uma.pageView('页面标题', to, from)
})

APIs

除了初始化配置不一样,其它 API 与 GA 基本一致。

addPaymentInfo

addPaymentInfo(eventParams): void

用户已提交其付款信息

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.couponundefined | string与事件相关的优惠券名称/代码
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.payment_typeundefined | string选定的付款方式
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


addShippingInfo

addShippingInfo(eventParams): void

用户已提交其配送信息

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.couponundefined | string与事件相关的优惠券名称/代码
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.shipping_tierundefined | string用户为所购商品选择的配送级别(例如 Ground、Air 和 Next-day)
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


addToCart

addToCart(eventParams): void

商品已添加到购物车

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


addToWishlist

addToWishlist(eventParams): void

商品已添加到心愿单

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


beginCheckout

beginCheckout(eventParams): void

用户已开始结账流程

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.couponundefined | string与事件相关的优惠券名称/代码
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


config

config(appKey, options?): void

初始化配置

参数

NameTypeDefault valueDescription
appKeystringundefined由友盟分配的 APP_KEY
optionsObject{}
options.debugbooleanfalse是否打开调试模式
options.useOpenidbooleantrue使用 Openid 进行统计,此项为 false 时将使用友盟 +uuid 进行用户统计

返回值

void


event

event(categoryOrEventName, actionOrEventParams, label?, value?): void

发送 event 事件(或发送任意事件)

参数

NameTypeDescription
categoryOrEventNamestringevent 事件的类型,常以页面为单位(或事件名称)
actionOrEventParamsstring | EventParamsevent 事件的操作,常以事件目标+操作组成(或事件参数)
label?stringevent 事件的标签,通常是事件目标更具体的描述
value?numberevent 事件的值,不作限制,可以是时间、数量等

返回值

void

示例

js
// 用法一:发送 event 事件
event('your_category', 'your_action', 'your_lable', 'your_value')

// 用法二:发送任意事件(用法一就是发送名为 `event` 事件的简单封装,以兼容以往 `ga.event()` 的写法)
event('your_event_name', {your_event_param: 'your_param_value'})

exception

exception(description, fatal?): void

发送 exception 事件

参数

NameTypeDefault valueDescription
descriptionstringundefined异常描述(不超过 100 个字符)
fatal?booleanfalse默认为 false,如果异常很严重,则设为 true

返回值

void


pageView

pageView(pageTitle, pageLocation?, pageReferrer?): void

发送 page_view 事件

参数

NameTypeDefault valueDescription
pageTitlestringundefined页面标题(不超过 100 个字符)
pageLocation?string''页面网址(不超过 420 个字符)
pageReferrer?string''页面来源(不超过 420 个字符)

返回值

void


purchase

purchase(eventParams): void

用户已购买一件或多件商品

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.couponundefined | string与事件相关的优惠券名称/代码
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.shippingundefined | number与交易相关的运费
eventParams.taxundefined | number与交易相关的税费
eventParams.transaction_idstring交易的唯一标识符
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


refund

refund(eventParams): void

用户退回一件或多件商品

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.couponundefined | string与事件相关的优惠券名称/代码
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.shippingundefined | number与交易相关的运费
eventParams.taxundefined | number与交易相关的税费
eventParams.transaction_idstring交易的唯一标识符
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


removeFromCart

removeFromCart(eventParams): void

商品已从购物车中移除

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。

返回值

void


search(eventParams): void

搜索

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.search_termstring搜索的字词

返回值

void


selectItem

selectItem(eventParams): void

从列表中选择了商品

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.item_list_idundefined | string所在商品列表 ID
eventParams.item_list_nameundefined | string所在商品列表名称
eventParams.itemsItem[]与事件相关的商品

返回值

void


selectPromotion

selectPromotion(eventParams): void

从列表中选择了推广活动

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.creative_nameundefined | string促销广告素材的名称
eventParams.creative_slotundefined | string与事件相关的促销广告素材投放到的广告位的名称
eventParams.itemsItem[]与事件相关的商品
eventParams.promotion_idundefined | string与事件相关的促销活动的 ID
eventParams.promotion_nameundefined | string与事件相关的促销活动的名称

返回值

void


setOpenid

setOpenid(openid): void

设置用户 openid

参数

NameType
openidstring

返回值

void


setUnionid

setUnionid(id): void

设置用户 setUnionid

参数

NameType
idstring

返回值

void


setUserid

setUserid(uid): void

设置用户 id

参数

NameType
uidstring

返回值

void


share

share(eventParams): void

用户分享了商品

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.content_typeundefined | string共享内容的类型
eventParams.item_idundefined | string分享商品的 ID
eventParams.methodundefined | string共享内容的方法,比如 Twitter

返回值

void


viewCart

viewCart(eventParams): void

查看购物车

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.item_list_idundefined | string所在商品列表 ID
eventParams.item_list_nameundefined | string所在商品列表名称
eventParams.itemsItem[]与事件相关的商品

返回值

void


viewItem

viewItem(eventParams): void

用户查看了某些商品

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.currencyundefined | string与事件相关的商品所用的币种(使用 ISO 4217 格式,比如人民币为 CNY)。如果设置 value,则必须提供 currency,这样才能准确计算收入指标。
eventParams.itemsItem[]与事件相关的商品
eventParams.valueundefined | number与事件相关的货币价值。如果设置 value,则必须提供 currency。如果设置 value,则必须提供 currency。

返回值

void


viewItemList

viewItemList(eventParams): void

查看商品列表

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.item_list_idundefined | string所在商品列表 ID
eventParams.item_list_nameundefined | string所在商品列表名称
eventParams.itemsItem[]与事件相关的商品

返回值

void


viewPromotion

viewPromotion(eventParams): void

查看推广活动

参数

NameTypeDescription
eventParamsObject事件参数
eventParams.creative_nameundefined | string促销广告素材的名称
eventParams.creative_slotundefined | string与事件相关的促销广告素材投放到的广告位的名称
eventParams.itemsItem[]与事件相关的商品
eventParams.promotion_idundefined | string与事件相关的促销活动的 ID
eventParams.promotion_nameundefined | string与事件相关的促销活动的名称

返回值

void

源码

uma/index.js