MiniProgram SDK API
最近更新:2023-02-21
展开全部

MiniProgram SDK API

SDK 初始化

支持的版本

开始支持的版本: 2.0.0

接口定义

  • init(context)
    • 接口说明:
      • 初始化接口
    • 参数说明
      • App 对象

调用示例

joperate.init(this)
              joperate.init(this)

        
此代码块在浮窗中显示

自定义事件统计

调用该接口前,需要先在控制台创建元事件,详情参考 创建元事件

支持的版本

开始支持的版本: 2.0.0

接口定义

  • onEvent(event)
    • 接口说明:
      • 自定义事件统计
    • 参数说明
      • event 上报的自定义事件模型

调用示例

let event = {name:"name", attributes:{key:"value"}} joperate.onEvent(event)
              let event = {name:"name", attributes:{key:"value"}}
    joperate.onEvent(event)

        
此代码块在浮窗中显示

设置用户联系方式

当用户的联系方式发生变更时,可使用本接口更新用户在「触达通道」-「联系标签」的「联系方式」。

支持的版本

开始支持的版本: 2.0.0

接口定义

  • setUserChannel(channel)
    • 接口说明:
      • 为指定「通道ID」下的「联系标签」设置用户的「联系方式」。
      • 初始联系标签名称为「默认联系」,若要设置自定义的名称则需要先在平台界面上添加 联系标签
      • 支持同时设置多个「联系标签」的值。
      • 设置「短信」的「联系方式」时,其值须为11位数字(手机号码格式)
    • 参数说明
      • channel 用户触达通道 ID
      • 结构为 {通道 id:{ 联系标签: 联系方式}}
      • completion 回调

调用示例

let channel = {completion: (code, msg)=>{ }, channels: {}} let contact = {} contact[param["联系标签"]] = 联系方式 //例如:工作手机=18********* channel.channels["580"] = contact //例如:后台创建的通道ID为580 joperate.setUserChannel(channel)
                  let channel = {completion: (code, msg)=>{ },
            channels: {}}

        let contact = {}
        contact[param["联系标签"]] = 联系方式   //例如:工作手机=18*********
        channel.channels["580"] = contact   //例如:后台创建的通道ID为580
        joperate.setUserChannel(channel)

        
此代码块在浮窗中显示

设置用户标识

支持的版本

开始支持的版本: 2.0.0

接口定义

  • identifyAccount(user);
    • 接口说明:
      • 设置用户标识,如:用户会员卡号。
    • 参数说明
      • userID 用户标识 ID
      • completion 回调

调用示例

let user = {completion: (code, msg)=>{}, userIDs:{"id":"value"}} joperate.identifyAccount(user)
              let user = {completion: (code, msg)=>{}, userIDs:{"id":"value"}}
    joperate.identifyAccount(user)

        
此代码块在浮窗中显示

获取 CUID

支持的版本

开始支持的版本: 2.0.0

接口定义

  • + CUID()
    • 接口说明:
      • 获取运营增长 CUID

调用示例

let cuid = joperate.CUID()
              let cuid = joperate.CUID()

        
此代码块在浮窗中显示

设置 UTM 属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • setUtmProperties(attrs:any)
    • 接口说明:
      • UTM 属性为预置属性,目前能够设置 UTM 属性为:
        • utm_source 广告系列来源
        • utm_medium 广告系列媒介
        • utm_term 广告系列字词
        • utm_content 广告系列内容
        • utm_campaign 广告系列名称

调用示例

joperate.setUtmProperties({"utm_source":"value1"})
                  joperate.setUtmProperties({"utm_source":"value1"})

        
此代码块在浮窗中显示

设置静态公共属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • setEventCommonAttr(property)
    • 接口说明:
      • 注册静态公有属性,后面所有上报事件数据都会包含该属性,该属性保存在本地,设置长期有效。
      • 当事件属性和公共属性重复时,事件属性会覆盖公共属性。
      • key 为 String,只能包含数字小写字母下划线,以及以字母开头。
      • value 可以是 string/number/Array
      • Array 中的所有元素必须为 string

调用示例

joperate.setEventCommonAttr({"key1":"value1", "key2":"value2"})
                  joperate.setEventCommonAttr({"key1":"value1", "key2":"value2"})

        
此代码块在浮窗中显示

获取静态公共属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • currentEventCommonAttr()
    • 接口说明:
      • 获取事件当前的静态公共属性。

调用示例

let attr = joperate.currentEventCommonAttr()
                  let attr = joperate.currentEventCommonAttr()

        
此代码块在浮窗中显示

删除所有的静态公共属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • clearEventCommonAttr()
    • 接口说明:
      • 删除当前所有的静态公共属性

调用示例

joperate.clearEventCommonAttr()
                  joperate.clearEventCommonAttr()

        
此代码块在浮窗中显示

设置动态公共属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • setEventDynamicAttr(completion)
    • 接口说明:
      • 注册动态公有属性,后面所有上报事件数据都会包含该接口返回的属性,该属性仅当次设置有效。
      • 当事件属性和公共属性和动态公共属性三者重复时会按如下优先级进行覆盖,事件属性 > 动态公共属性 > 静态公共属性。
      • key 为 string,只能包含数字小写字母下划线,以及以字母开头。
      • value 可以是 string/number/Array。
      • Array 中的所有元素必须为 string。
      • dynamicProperties block 用来返回事件的动态公共属性。

调用示例

joperate.setEventDynamicAttr(()=>{return {"key2":"value3", "key3":"value4"} })
              joperate.setEventDynamicAttr(()=>{return {"key2":"value3", "key3":"value4"}
    })

        
此代码块在浮窗中显示

设置预置属性的地址位置信息

支持的版本

开始支持的版本: 2.0.0

接口定义

  • setLocation(lat, lng)
    • 接口说明:
      • 设置上报事件预置属性中的地址位置信息。

调用示例

joperate.setLocation(lat, lng)
                  joperate.setLocation(lat, lng)

        
此代码块在浮窗中显示

设置用户属性

调用该接口前,需要先在控制台创建用户属性,详情参考 创建用户属性

设置覆盖方式的用户属性

  • set(user, completion)
    • 接口说明:
      • 设置覆盖方式的用户属性。
      • 仅保存最新上报的数据,覆盖历史数据,如:用户会员等级。
      • 这些用户属性的内容用一个 object 来存储,其中的 key 是用户属性的名称,必须是 string,Value 则是用户属性的内容,只支持 string、number,Array 这些类型。
      • Array 类型的 value 中目前只支持其中的元素是 string。
      • 如果某个用户属性之前已经存在了,则这次会被覆盖掉;不存在,则会创建。
    • 调用示例:
joperate.set({key:"value"}, (code, msg)=>{})
                  joperate.set({key:"value"}, (code, msg)=>{})

        
此代码块在浮窗中显示

设置仅首次生效的用户属性

  • setOnce(user, completion)
    • 接口说明:
      • 设置只有第一次生效的用户属性。
      • 仅需设置一次属性,该字段有值时会忽略之后的上报数据,如首次付费时间。
    • 调用示例:
joperate.setOnce({key:"value"}, (code, msg)=>{})
                  joperate.setOnce({key:"value"}, (code, msg)=>{})

        
此代码块在浮窗中显示

设置累加方式的用户属性

  • increment(user, completion)
    • 接口说明:
      • 设置累加方式的用户属性。
      • 给多个数值类型的用户属性增加数值。累加所有上报的数据,如累计消费金额。
      • 只能对 number 类型的用户属性调用这个接口,否则会被忽略, 如果这个用户属性之前不存在,则初始值当做 0 来处理。
    • 调用示例:
joperate.increment({key:1}, (code, msg)=>{})
                  joperate.increment({key:1}, (code, msg)=>{})

        
此代码块在浮窗中显示

设置追加方式的用户属性

  • append(key, content completion)
    • 接口说明:
      • 设置追加方式的用户属性。
      • 可持续增加该集合元素,元素入库去重处理,若已存在ABC,追加CD,最终为ABCD,如用户点赞的新闻。
      • 向一个 Array 类型的属性添加一些值,这个 Array 的元素必须是 string,否则,会忽略, 同时,如果要 append 的用户属性之前不存在,会初始化一个空的 Array。
    • 调用示例:
joperate.append("key",["value1", "value2"], (code, msg)=>{})
                  joperate.append("key",["value1", "value2"], (code, msg)=>{})

        
此代码块在浮窗中显示

删除用户属性

支持的版本

开始支持的版本: 2.0.0

接口定义

  • unset(key, completion)
    • 接口说明:
      • 删除某个用户属性的全部内容。
      • 如果这个用户属性之前不存在,则直接忽略。

调用示例

joperate.unset("key", (code, msg)=>{})
                  joperate.unset("key", (code, msg)=>{})

        
此代码块在浮窗中显示

统计事件时长

开始事件计时

  • timeKeepingEventStart(eventName)
    • 接口说明:
      • 若需要统计某个事件的持续时间,先在事件开始时调用 timeKeepingEventStart:"事件名" 记录事件开始时间,该方法并不会真正发送事件;
      • 随后在事件结束时,调用 timeKeepingEventEnd:"事件 ID"
    • 调用示例:
let eventID = joperate.timeKeepingEventStart("eventName")
                  let eventID = joperate.timeKeepingEventStart("eventName")

        
此代码块在浮窗中显示

结束事件计时

  • timeKeepingEventEnd(eventId, properties)
    • 接口说明:
      • 结束事件计时,多次调用时,以首次调用为准
    • 调用示例:
joperate.timeKeepingEventEnd(eventID, {key:"value"})
                  joperate.timeKeepingEventEnd(eventID, {key:"value"})

        
此代码块在浮窗中显示

暂停事件计时

  • timeKeepingEventPause(eventID)
    • 接口说明:
      • 多次调用时,以首次调用为准
    • 调用示例:
joperate.timeKeepingEventPause(eventID)
                  joperate.timeKeepingEventPause(eventID)

        
此代码块在浮窗中显示

恢复事件计时

  • timeKeepingEventResume(eventID)
    • 接口说明:
      • 多次调用时,以首次调用为准
    • 调用示例:
joperate.timeKeepingEventResume(eventID)
                  joperate.timeKeepingEventResume(eventID)

        
此代码块在浮窗中显示

删除事件计时

  • removeTimeKeepingEvent(eventID)
    • 接口说明:
      • 多次调用时,只有首次调用有效
    • 调用示例:
joperate.removeTimeKeepingEvent(eventID)
                  joperate.removeTimeKeepingEvent(eventID)

        
此代码块在浮窗中显示

清除所有计时事件

  • clearTimeKeepingEvent()
    • 接口说明:
      • 清除所有计时事件
    • 调用示例:
joperate.clearTimeKeepingEvent()
                  joperate.clearTimeKeepingEvent()

        
此代码块在浮窗中显示

进入数据校验模式

  • openDebugMode(param)
    • 接口说明:
      • 进入数据校验模式
    • 调用示例:
//扫码进入数据校验模式 wx.scanCode({ success (res) { let debug = joperate.openDebugMode(res.result) } })
                //扫码进入数据校验模式
      wx.scanCode({
        success (res) { 
          let debug = joperate.openDebugMode(res.result)
        }
      })  

        
此代码块在浮窗中显示

Demo 接口部分

获取运营增长开通状态

  • isValid(completion)
    • 接口说明:
      • 您的项目是否已经开通了运营增长,code 为 0 位开通
    • 调用示例:
joperate.isValid((code, msg)=>{})
              joperate.isValid((code, msg)=>{})

        
此代码块在浮窗中显示

获取用户数据

  • userData(completion)
    • 接口说明:
      • 回调中为用户数据,例如后台注册的用户事件,当前用户的渠道信息,用户标识等等
    • 调用示例:
joperate.userData((code, data)=>{})
              joperate.userData((code, data)=>{})

        
此代码块在浮窗中显示

获取项目信息

  • appInfo(completion)
    • 接口说明:
      • 回调中为项目信息
    • 调用示例:
joperate.appInfo((code, data)=>{})
              joperate.appInfo((code, data)=>{})

        
此代码块在浮窗中显示

获取当前预置属性

  • async peripheralData()
    • 接口说明:
      • 预置属性信息
    • 调用示例:
jopreate.peripheralData().then(val => {})
              jopreate.peripheralData().then(val => {})

        
此代码块在浮窗中显示

用户标识 UserID 说明

用户标识模型类。以下是属性说明:

参数名称 参数类型 参数说明
userIDs object 标识 id 对象
completion (code, msg)=>{} 请求结果回调, errcode:0 为成功

事件统计 Event 类

自定义事件对象类。所有的字符串属性长度不能超过 256 字节(包括 extra 的 key),以下是属性说明:

参数名称 参数类型 参数说明
eventName string 事件 ID,必填,非空
property object 自定义属性(<=500 个)key 为 string,只能包含数字字母下划线;value 可以是 string/number

触达渠道 UserChannel 类

用户通道模型类。以下是属性说明:
如果不设置或者设置为 nil 则认为不修改,设置为 "" 空字符串的时候认为清空该渠道。

参数名称 参数类型 参数说明
channels object 通道字典
completion (code, msg)=>{} 请求结果回调, errcode:0 为成功
文档内容是否对您有帮助?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开