jAnalytics

概述

本插件封装了极光统计SDK

JAnalytics产品简介

极光以提供更加全面的开发者服务为目标,利用极光推送的数据和网络优势结合更丰富的功能,推出了极光统计(英文:JAnalytics)。极光统计为独立的统计 SDK ,让开发者可以更便捷的集成无需依赖 JPush 可以单独使用。通过简洁直观的数据报表帮助开发者了解用户的属性和使用情况,优化用户体验,为企业决策提供有效的数据支撑。

iOS使用此插件之前需先配置 config.xml 文件,方法如下

  • 配置示例:
<feature name="jAnalytics">
    <param  name="appkey" value=""/>
    <param  name="channel" value=""/>
    <param  name="advertisingId" value=""/>
    <param  name="isProduction" value=""/>
    <param  name="appkey" value=""/>
    <param name="debug" value=""/>
</feature>
  • 字段描述:

    appkey:appkey,在极光官网申请开发者账号并创建应用获取。

     **channel**:(可选项)发布渠道。
    
     **advertisingId**:(可选项)广告标识符(IDFA),IDFA能帮助您更准确的统计。
    
     **isProduction**:(可选项)是否生产环境. 如果为开发状态,设置为false; 如果为生产状态,应改为 true.默认为false。
    
     **debug**:(可选项)设置是否打印sdk产生的Debug级log信息, 默认为false(不打印log)
    
     **urlScheme**:(可选项)用于实现应用间跳转及数据交换,开启圈选埋点必填。
    

Android 需要在config.xml中配置如下

<!-- 配置appkey:从 portal 上应用信息中获取 AppKey,并填写你的 Channel-->
   <meta-data name="JPUSH_APPKEY" value="Your AppKey"/>
   <meta-data name="JPUSH_CHANNEL" value="Your Channel"/>

Android 隐私政策说明

开发者请务必在《隐私政策》中向用户告知应用使用了极光统计SDK,参考条款如下:

SDK名称:极光统计SDK 服务类型:消息统计服务 SDK收集个人信息类型:

设备信息(IMEI/MAC/Android ID/IDFA/OAID/OpenUDID/GUID/SIM卡IMSI信息等):用于识别唯一用户,保证消息的精准统计;为开发者提供业务统计信息的服务; 网络信息与位置信息(IP地址,WiFi信息,基站信息等相关信息):优化SDK与极光服务器的网络连接请求,保证服务的稳定性和连续性;实现区域统计的功能。 APP安装列表信息:我们为向您提供统计功能,通过该信息推荐更符合您用户需要的统计内容,减少无用统计信息对您用户的打扰,您可以选择开启或关闭这项服务。 极光隐私权政策链接:《AURORA极光隐私政策》

注: 若通过极光统计SDK,请《隐私政策》向用户告知,建议如下:

隐私确认接口与SDK初始化 概述 极光合规授权接口是为了保障用户隐私为根本目的,广大的开发者务必遵循其相关协议,确保用户同意《隐私政策》之后,再另行使用极光业务SDK功能。

接口说明

var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
  auth:true
});

调用逻辑:

  • 宿主APP在首次安装,冷启动
  • 用户隐私协议告知
  • 用户确认授权
  • 告知极光授权结果

同意隐私协议:

var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
  auth:true
});

不同意隐私协议:

var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
  auth:false
});

初始化SDK 确保App首次启动时,在用户阅读您的《隐私政策》并取得用户授权之后,才调用初始化函数 init(),此时SDK才会真正采集设备信息,并上报,如果没有在用户阅读您的《隐私政策》并取得用户授权, 或者用户不同意您的《隐私政策》,则不能调用初始化方法init()。

一旦App未获取到《隐私政策》的用户授权,后续的App冷启动,开发者应该保证在调用初始化SDK方法init()之前,调用setAuth()方法,告知极光未获得用户授权;

插件接口

setAuth

授权 (仅支持Android)

setAuth({param})

param

auth:

  • 类型:布尔
  • 描述:是否授权

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
  auth:true
});

可用性

Android系统

可提供的1.0.0及更高版本

init

开始记录页面停留 (仅支持Android)

init(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     status:true, //布尔类型;是否成功
}

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.init(function(ret){
  api.alert({
            msg: JSON.stringify(ret)
        })
});

可用性

Android系统

可提供的1.0.0及更高版本

startLogPageView

开始记录页面停留

startLogPageView({params})

params

pageName:

  • 类型:字符串
  • 描述:页面名称

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.startLogPageView({
  pageName:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopLogPageView

停止记录页面停留

stopLogPageView({params})

params

pageName:

  • 类型:字符串
  • 描述:页面名称

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.stopLogPageView({
  pageName:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setLatitudeAndLongitude

地理位置上报 (仅支持ios)

setLatitudeAndLongitude({params})

params

latitude:

  • 类型:字符串
  • 描述:纬度

longitude:

  • 类型:字符串
  • 描述:经度

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.setLatitudeAndLongitude({
  latitude:'',
  longitude:''
});

可用性

iOS系统

可提供的1.0.0及更高版本

crashLogON

开启Crash日志收集,默认是关闭状态

crashLogON()

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.crashLogON();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

registerEvent

注册事件数据上报

registerEvent({params})

params

method:

  • 类型:字符串
  • 描述:注册方法

success:

  • 类型:布尔
  • 描述:(可选项)注册是否成功
  • 默认:true

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value,注册事件模型中扩展参数中不能使用以下 key 值:register_method、register_success此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.registerEvent({
  method:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

loginEvent

登陆事件数据上报

loginEvent({params})

params

method:

  • 类型:字符串
  • 描述:登陆方法

success:

  • 类型:布尔
  • 描述:(可选项)登陆是否成功
  • 默认:true

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value,登录事件模型中扩展参数中不能使用以下 key 值:login_method、login_success 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.loginEvent({
  method:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

browseEvent

浏览事件数据上报

browseEvent({params})

params

name:

  • 类型:字符串
  • 描述:内容名称

contentID:

  • 类型:字符串
  • 描述:内容ID

type:

  • 类型:字符串
  • 描述:内容类型

duration:

  • 类型:数字
  • 描述:(可选项)内容时长
  • 默认:1

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value;浏览事件模型中扩展参数中不能使用以下 key 值:browse_content_id、browse_name、browse_type、browse_duration 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.browseEvent({
  name:'',
  contentID:'',
  type:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

purchaseEvent

购买事件数据上报

purchaseEvent({params})

params

goodsID:

  • 类型:字符串
  • 描述:物品ID

goodsName:

  • 类型:字符串
  • 描述:物品名称

goodsType:

  • 类型:字符串
  • 描述:物品类型

price:

  • 类型:数字
  • 描述:(可选项)价格
  • 默认:1

success:

  • 类型:布尔
  • 描述:(可选项)购买是否成功
  • 默认:true

quantity:

  • 类型:数字
  • 描述:(可选项)物品数量
  • 默认:1

currency:

  • 类型:字符串
  • 描述:(可选项)货币类型;CNY:人民币,USD:美元
  • 默认:'CNY'

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value;购买事件模型中扩展参数中不能使用以下 key 值:purchase_goods_id、purchase_goods_name、purchase_price、purchase_currency、purchase_goods_type、purchase_quantity、purchase_success 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.purchaseEvent({
  goodsID:'',
  goodsName:'',
  goodsType:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

countEvent

自定义计数事件数据上报

countEvent({params})

params

eventID:

  • 类型:字符串
  • 描述:事件ID

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value;自定义计数事件模型中扩展参数中不能使用以下 key 值:event_id此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.countEvent({
  eventID:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

calculateEvent

计算事件数据上报

calculateEvent({params})

params

eventID:

  • 类型:字符串
  • 描述:事件ID

value:

  • 类型:字符串
  • 描述:事件值

extra:

  • 类型:json对象
  • 描述:(可选项)扩展参数,可以添加任意字符串的key,value; 自定义计算事件模型中扩展参数中不能使用以下 key 值:event_id、event_value 此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.calculateEvent({
  eventID:'',
  value:''
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

identifyAccount

设置用户信息

identifyAccount({params},callback(ret,err))

params

accountID:

  • 类型:字符串
  • 描述:账号ID

creationTime:

  • 类型:数字
  • 描述:(可选项)账号创建时间、时间戳

sex:

  • 类型:数字
  • 描述:(可选项)性别;0:未知的,1:男性,2:女性
  • 默认:1

birthdate:

  • 类型:字符串
  • 描述:(可选项)出生年月,yyyyMMdd格式校验

paid:

  • 类型:数字
  • 描述:(可选项)是否付费;0:未知,1:付费,2:未付费
  • 默认:2

phone:

  • 类型:字符串
  • 描述:(可选项)手机号码

email:

  • 类型:字符串
  • 描述:(可选项)email

name:

  • 类型:字符串
  • 描述:(可选项)用户名

wechatID:

  • 类型:字符串
  • 描述:(可选项)微信id

qqID:

  • 类型:字符串
  • 描述:(可选项)QQid

weiboID:

  • 类型:字符串
  • 描述:(可选项)新浪微博id

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     status:true, //布尔类型;是否成功
}

err:

  • 类型:JSON对象
  • 内部字段:
{

    err:0, //数字类型;错误码
    msg:''   //字符串类型;错误信息
}

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.identifyAccount({
  accountID:''
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

detachAccount

解绑当前的用户信息

detachAccount(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     status:true, //布尔类型;是否成功
}

err:

  • 类型:JSON对象
  • 内部字段:
{

    err:0, //数字类型;错误码
    msg:''   //字符串类型;错误信息
}

示例代码

jAnalytics = api.require('jAnalytics');
jAnalytics.identifyAccount({
  accountID:''
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/05/20