• QuickApp SDK API
    • SDK 初始化 API
    • 页面流统计 API
    • 自定义事件统计 API
    • 计数事件模型
    • 计算事件模型
    • 登录事件模型
    • 注册事件模型
    • 浏览事件模型
    • 购买事件模型
    • 账户维度模型介绍
      • 错误码

    QuickApp SDK API

    SDK 初始化 API

    • JAnalyticsInterface.init(context,appkey:string,channel:string)

      • 接口说明:
        • 初始化接口。需app.ux的onCreate中调用。之后在其它模块中可使用this.$app.JAnalyticsInterface方式进行其它接口调用。
      • 参数说明:

        • context:应用上下文
        • appkey:官网中创建应用后分配的appkey
        • channel:渠道名称,默认值为:default-channel
      • 调用示例:
    1. this.JAnalyticsInterface=JAnalyticsInterface.init(this,"官网中创建应用后分配的appkey","自定义channel");
    • JAnalyticsInterface.setDebugMode(enable:boolean)
      • 接口说明:
        • 设置是否开启debug模式。true则会打印更多的日志信息。设置false则会关闭sdk的所有日志打印,建议在init接口之前调用。
      • 参数说明:
        • enable:debug开关
      • 调用示例:
    1. JAnalyticsInterface.setDebugMode(true);

    页面流统计 API

    • JAnalyticsInterface.onPageStart(pageName:string)
      • 接口说明:
        • 页面启动接口。在页面的相关生命周期内调用,和onPageEnd需要成对调用。页面生命周期方法可参考Quick App官方文档
      • 参数说明:
        • pageName:页面名称
      • 调用示例:
    1. this.$app.JAnalyticsInterface.onPageStart("page1");
    • JAnalyticsInterface.onPageEnd(pageName:string)
      • 接口说明:
        • 页面结束接口。在页面的相关生命周期内调用,和onPageStart需要成对调用。
      • 参数说明:
        • pageName:页面名称
      • 调用示例:
    1. this.$app.JAnalyticsInterface.onPageEnd("page1");

    自定义事件统计 API

    • JAnalyticsInterface.onEvent(event:Event)

      • 接口说明:
        • 自定义事件。通过传入不同的事件模型来进行各种事件的统计,具体的事件模型请查看事件模型介绍
      • 参数说明:
        • event:事件模型,支持CountEvent(计数事件)、CalculateEvent(计算事件)、RegisterEvent(注册事件)、LoginEvent(登录事件)、BrowseEvent(浏览事件)、PurchaseEvent(购买事件)
          关于自定义事件做如下说明:
    • 字符串字段(key与 value)限制大小不超过256字节,超过限制的key或value该事件将会被丢弃.

    • 自定义键值对数目不能超过10个,超过10个限制该事件将会被丢弃.

    计数事件模型

    • CountEvent
      该模型是自定义计数事件模型,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    eventIdString事件Id(非空)
    extMapMap扩展参数

    调用示例:

    1. let { CountEvent } = this.$app.JAnalyticsInterface.Event;
    2. let cEvent = new CountEvent("eventId",{"key_count_event_extra1":"value_extra1"});
    3. this.$app.JAnalyticsInterface.onEvent(cEvent);

    注意:

    1. 自定义计数事件模型中扩展参数中不能使用以下 key 值:
    2. event_id
    3. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    计算事件模型

    • CalculateEvent
      该模型是自定义计算事件模型,计算事件会通过相同的事件不同的值进行累加,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    eventIdString事件Id(非空)
    eventValuedouble事件的值(非空)
    extMapMap扩展参数

    调用示例:

    1. let { CalculateEvent } = this.$app.JAnalyticsInterface.Event;
    2. let cEvent = new CalculateEvent("test2_event_id","test2_event_value");
    3. cEvent.setEventValue(1.1).addKeyValue("key1","value1").addKeyValue("key2","value2");
    4. this.$app.JAnalyticsInterface.onEvent(cEvent);

    注意:

    1. 自定义计算事件模型中扩展参数中不能使用以下 key 值:
    2. event_id
    3. event_value
    4. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    登录事件模型

    • LoginEvent
      该模型是登录事件模型,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    loginMethodString登录方式(非空)
    loginSuccessboolean登录是否成功(非空)
    extMapMap扩展参数

    调用示例:

    1. let { LoginEvent } = this.$app.JAnalyticsInterface.Event;
    2. let lEvent = new LoginEvent("qq",true);
    3. lEvent.addKeyValue("key1","value1").addKeyValue("key2","value2");
    4. this.$app.JAnalyticsInterface.onEvent(lEvent);

    注意:

    1. 登录事件模型中扩展参数中不能使用以下 key 值:
    2. login_method
    3. login_success
    4. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    注册事件模型

    • RegisterEvent
      该模型是注册事件模型,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    registerMethodString注册方式(非空)
    registerSuccessboolean注册是否成功(非空)
    extMapMap扩展参数

    调用示例:

    1. let { RegisterEvent } = this.$app.JAnalyticsInterface.Event;
    2. let rEvent = new RegisterEvent("sina",true);
    3. rEvent.addKeyValue("key1","value1").addKeyValue("key2","value2");
    4. this.$app.JAnalyticsInterface.onEvent(rEvent);

    注意:

    1. 注册事件模型中扩展参数中不能使用以下 key 值:
    2. register_method
    3. register_success
    4. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    浏览事件模型

    • BrowseEvent
      该模型是浏览事件模型,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    browseIdString浏览内容id
    browseNameString内容名称(非空)
    browseTypeString内容类型
    browseDurationlong浏览时长,单位秒
    extMapMap扩展参数

    调用示例:

    1. let { BrowseEvent } = this.$app.JAnalyticsInterface.Event;
    2. let bEvent = new BrowseEvent("browse_id","深圳热点新闻","news",30);
    3. bEvent.addKeyValue("key1","value1").addKeyValue("key2","value2");
    4. this.$app.JAnalyticsInterface.onEvent(bEvent);

    注意:

    1. 浏览事件模型中扩展参数中不能使用以下 key 值:
    2. browse_content_id
    3. browse_name
    4. browse_type
    5. browse_duration
    6. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    购买事件模型

    • PurchaseEvent
      该模型是购买事件模型,可以设置参数进行数据上报。

    参数说明:

    参数名称参数类型参数说明
    purchaseGoodsidString商品id
    purchaseGoodsNameString商品名称
    purchasePricedouble购买价格(非空)
    purchaseSuccessboolean购买是否成功(非空)
    purchaseCurrencyString货币类型(目前仅支持CNY及USD两种)
    purchaseGoodsTypeString商品类型
    purchaseGoodsCountint商品数量
    extMapMap扩展参数

    调用示例:

    1. let { PurchaseEvent } = this.$app.JAnalyticsInterface.Event;
    2. let pEvent = new PurchaseEvent("goodsId","篮球",300,true,"CNY","sport",1);
    3. pEvent.addKeyValue("key1","value1").addKeyValue("key2","value2");
    4. this.$app.JAnalyticsInterface.onEvent(pEvent);

    注意:

    1. 购买事件模型中扩展参数中不能使用以下 key 值:
    2. purchase_goods_id
    3. purchase_goods_name
    4. purchase_price
    5. purchase_currency
    6. purchase_goods_type
    7. purchase_quantity
    8. 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

    账户维度模型介绍

    开发者可以为用户增加账户信息,使统计数据可以以账户维度做统计分析 现开发的属性有:

    中文名英文名类型鉴权/备注
    账号IDaccountIDString
    账号创建时间creationTimelong时间戳
    姓名nameString
    性别sexint0未知 1男 2女/不能为其他数字,默认为0
    是否付费paidint0未知 1是 2否/不能为其他数字,默认为0
    出生年月birthdatelongyyyyMMdd格式校验
    手机号码phoneString手机号码校验
    电子邮件emailString邮箱格式校验
    新浪微博IDweiboIDString
    微信IDwechatIDString
    QQ IDqqIDString
    自定义维度extrakey-valuekey只能为字符串,value只能为字符串或数字类型或null类型; 当value设置为空类型时,将该key从服务器上删除 key不能使用极光内部namespace(符号$)

    具体使用方法,是先调用Account设置属性,再调用JAnalyticsInterface.identifyAccount(context, account, callback)登记账户信息也可以只设置部分属性,再次调用identifyAccount修改账户信息调用示例:

    1. let { Account } = this.$app.JAnalyticsInterface.Account;、
    2. let account = new Account("account001"); //account001为账号id
    3. account.setCreationTime(1513749859); //账户创建的时间戳
    4. account.setName("张三");
    5. account.setSex(1);
    6. account.setPaid(1);
    7. account.setBirthdate("19880920"); //"19880920"是yyyyMMdd格式的字符串
    8. account.setPhone("13800000000");
    9. account.setEmail("support@jiguang.cn");
    10. account.setExtraAttr("attr1","value1"); //key如果为空,或者以极光内部namespace(符号$)开头,会设置失败并打印日志
    11. this.$app.JAnalyticsInterface.identifyAccount(this, account, new function(code,msg) {
    12. console.log("code = " + code + " msg =" + msg);
    13. }
    14. })

    错误码

    codemessage备注
    0调用成功
    1001account_idcan not be empty accountID为关键参数,不能填写null或""
    1002detachfailed because account_id is empty 当前没有绑定accountID时调用了解绑接口
    1003operation is too busy10s内请求频率不能超过30次
    1004account_id is too long, please make it less than 255 charactersaccountID长度不能超过255字符
    1005failed, please call JAnalyticsInterface.init(context) firstSDK尚未初始化,应先调用init()方法
    1101the value of $sex should be in [0,2]0未知 1男 2女/不能为其他数字,默认为0
    1101the value of $birthdate should be date as yyyyMMddyyyyMMdd格式校验
    1101the value of $paid should be in [0,2]0未知 1是 2否/不能为其他数字,默认为0
    1101the value of $phone is NOT a phone number电话号码格式校验(含国际号码)
    1101the value of $creation_time should be number帐号创建时间必须为数字类型
    1101the value of $email is NOT email address邮箱格式校验
    1101the key={key} in extra is invalid自定义属性key不能为空,不能使用极光内部namespace(符号$)
    1101the value of {key} in extra should be String or Number自定义属性value只能为字符串或数字类型或null类型

    如果要解绑当前用户信息,调用JAnalyticsInterface.detachAccount(context, callback);调用示例:

    1. this.$app.JAnalyticsInterface.detachAccount(this, function(code,msg){
    2. console.log("code = " + code + " msg =" + msg);
    3. })