更新记录

0.0.3(2022-07-05)

支持在 uni-app 框架中,调用QuickTracking 统计 Android 相关接口,完成统计埋点及数据上报。

0.0.2(2022-07-01)

支持在 uni-app 框架中,调用QuickTracking 统计 Android 相关接口,完成统计埋点及数据上报。


平台兼容性

Android iOS
× 适用版本区间:9 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


使用uni-app进行埋点

在Page页面 或者 App.vue中获取插件实例
App.vue 或者 XXX.vue 中引入

<script>
const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics'); 
...
</script>

初始化接口

调用时机:Android端需要在应用安装后首次启动JS首页显示后弹出“隐私授权对话框”,并在用户点击对话框“同意”按钮后再调用init初始化函数。
init(String appkey, String channel, int deviceType, String pushSecret)

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
* @description UmengAnalytics.init(String appkey, String channel, int deviceType, String pushSecret)
* @param {appkey} 字符串类型 友盟申请appkey
* @param {channel} 字符串类型 用户自定义渠道 
* @param {deviceType} 设备类型,1-手机;2-box(整型)
* @param {pushSecret} 保留未使用,输入空字符串即可。(字符串类型)  
* */
UmengAnalytics.init('testappkey', 'testChannel', 1, '');

设置全局属性

1.注册全局属性接口

registerGlobalProperties(string params)

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @description UmengAnalytics.registerGlobalProperties(String params)
 * @params 为一级平铺全局参数属性键值对,不支持嵌套,并且iOS端不支持值为 null 和 "" 类型的键
 * @return void
 */
UmengAnalytics.registerGlobalProperties(JSON.stringfy({"a":1,"b":2,"c":"3","d":"undefined"}));

2.删除某个全局属性接口

unregisterGlobalProperty(String key)

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @@description 删除某个全局属性接口
 * @param {key} 全局属性名 字符串类型
 * @return void
 */ 
UmengAnalytics.unregisterGlobalProperty('a');

3.获取全部全局属性接口

getGlobalProperties

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @description 获取全部全局属性接口
 * @return 当前已注册所有全局属性值
 */ 
const gp = UmengAnalytics.getGlobalProperties();

4.删除所有全局属性接口

clearGlobalProperties

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @description 删除所有全局属性接口
 * @return void
 */ 
UmengAnalytics.clearGlobalProperties();

代码埋点

1.页面浏览事件

onPageStart(String viewName) 页面开始
onPageEnd(String viewName) 页面结束
skipMe(String viewName) 关闭当前宿主(Android Activity/iOS ViewController)页面的自动PV采集

//page1.vue
const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')

export default {
  onLoad() {
    //调用此行代码后,宿主页面会关闭PV自动采集
    UmengAnalytics.skipMe('Page1');
  },
    onShow() {
    ...
    UmengAnalytics.onPageStart('Page1');
    ...
  }, 
  onHide() {
    ...
    UmengAnalytics.onPageEnd('Page1');
    ...
  },
  onUnload(){
    ...
    UmengAnalytics.onPageEnd('Page1')
    ...
  }
}

2.自定义事件

onEventObject(String eventId, String params)

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @description UmengAnalytics.onEventObject(String eventId, String params)
 * @eventId 自定义事件名(字符串类型)
 * @params 一级平铺自定义参数属性键值对,不支持嵌套,并且iOS端不支持值为 null 和 "" 类型的键 
 */

UmengAnalytics.onEventObject('test_clk', JSON.stringify({"product":"水杯","productColor":"黄色","productId":"003"}));

设置用户属性

归属于自定义事件的一种,预制eventId = $$_user_profile

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
/**
 * @description UmengAnalytics.onEventObject(String eventId, String params)
 * @eventId 自定义事件名(字符串类型)
 * @params 一级平铺自定义参数属性键值对,不支持嵌套,并且iOS端不支持值为 null 和 "" 类型的键 
 */

UmengAnalytics.onEventObject('$$_user_profile', JSON.stringify({"gender":"male","_user_nick":"a_nick","province":"Beijing"}));

用户登录/登出

onProfileSignIn(String puid, String provider = '')
第二个参数默认为 空字符串

const UmengAnalytics = uni.requireNativePlugin('UmengAnalytics')
UmengAnalytics.onProfileSignIn('testUserId', 'testOrganization')

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

QuickTracking SDK通过采集唯一设备识别码(如IMEI/android ID/IDFA/OPENUDID/GUID、SIM卡 IMSI 信息)对用户进行唯一标识,以便进行诸如用户新增等数据统计。在特殊情况下(如用户使用平板设备或电视盒子时),无法通过唯一设备识别码标识设备,我们会将设备Mac地址作为用户的唯一标识,以便正常提供统计分析服务。本产品的发数服务器地址需由开发者指定(私有化部署)。隐私协议地址:https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201902141711_54837.html

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问