H5项目友盟埋点上报实践

使用友盟平台做H5统计分析的话可以使用小程序统计下的H5统计分析

使用步骤:
1、注册/登录平台
2、创建H5应用
3、集成SDK
4、查看统计数据

这里主要需要开发支持的步骤是集成SDK这一步骤,下面来具体讲一下这一步

  1. 首先在我们创建平台应用成功后,可以拿到该应用生成的AppKey,然后就可以进行集成SDK的操作
  2. 在项目的最外层(文档上是在页面head标签内)加入集成代码,确保aplus_queue不被污染
	// 友盟统计初始化
    (function(w, d, s, q, i) {
      w[q] = w[q] || [];
      var f = d.getElementsByTagName(s)[0],j = d.createElement(s);
      j.async = true;
      j.id = 'beacon-aplus';
      j.src = 'https://d.alicdn.com/alilog/mlog/aplus/' + i + '.js';
      f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'aplus_queue', '203467608');
    
	//集成应用的appKey
    aplus_queue.push({
      action: 'aplus.setMetaInfo',
      arguments: ['appKey', 'xxxxxxx']
    });
  1. 配置好之后就可以进行事件埋点,在进行埋点之前,首先介绍一下action的各个属性值的用法
  • 3.1 setMetaInfo
    用于变更SDK的默认设置
const {aplus_queue} = window;
aplus_queue.push({
 action: 'aplus.setMetaInfo',
  arguments: [metaName, metaValue, mode]
});
/** metaName 为可配置的元数据项,具体可配置选项及取值可参考下文链接
 *  metaValue 为对应的元配置项取值
 *  metaName 及 metaValue 对应表:https://developer.umeng.com/docs/147615/detail/290919#h1-v1p-uni-pic
 *  mode 为模式,其取值为枚举值
 *  默认值为"OVERWRITE": 覆盖模式,原 meta 值将直接被覆盖,注意对于取值为单值的 meta 只有覆盖模式
 *  "APPEND": 追加模式,仅适用于 meta 取值为数组对象的 meta,追加模式下原取值保留
 */
  • 3.2 getMetaInfo
    用于动态获取 SDK 的当前配置
aplus.getMetaInfo(metaName);
  • 3.3 sendPV
    页面曝光事件,sendPV 方法将发送一条页面 PV 日志,其 API 定义如下:
const {aplus_queue} = window;
aplus_queue.push({
 action: 'aplus.sendPV',
  arguments: [{is_auto: false}]
});

关于PV上报这一点,友盟默认会自动发送PV数据,但是当项目是单页面应用的话,由于单页面路由改变时不会刷新页面,无法自动发送PV,所以需要使用setMetaInfo配置成手动发送PV,配置方法如下:

aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['aplus-waiting', 'MAN'] // 设置为MAN之后, 所有PV日志均需手动触发, 但其他类型的事件日志不受影响
});

解决了单页面应用无法自动发送PV的问题之后,另一个问题就是手动发送PV的时机
这里我选择的是在全局路由守卫中发送PV信息

  • 3.4 record
    record 用于发送一条事件日志,其 API 定义如下:
const {aplus_queue} = window;
aplus_queue.push({
 action: 'aplus.record',
  arguments: [eventCode, eventType, eventParams]
});

eventCode:事件ID 或 事件编码,字符串类型(埋点事件名)

eventType:‘CLK’

eventParams 为本次事件中上报的事件参数。其取值为一个JSON对象(平铺的简单对象,不能多层嵌套)

还有一些其他的api,在我的项目中并没有用到,如果感兴趣的话可以去友盟的文档上去看详细说明

介绍完配置SDK的方法,下面就分享一下项目中我具体是怎么做的

1、配置AppKey,设置手动发送PV
/src/App.vue
在这里插入图片描述

2、手动发送PV
/src/router/index.js
在这里插入图片描述
3、封装埋点方法
/src/main.js
在这里插入图片描述
4、在页面上调用埋点上报方法
在这里插入图片描述

### 集成友盟统计 SDK 到 UniApp 安卓应用 #### 获取配置参数 为了在 UniApp 应用中集成友盟统计功能,需前往友盟开发平台申请应用并获取必要的配置参数。这包括 AppKey 和其他相关设置[^1]。 #### 注册与创建应用 访问友盟官网注册账号,并通过产品菜单选择适合的小程序统计服务 U-Mini 进入控制台,在此界面可管理已有的应用程序或新增一个新应用来获得特定于该应用的 AppKey[^2]。 #### 添加 Android 平台支持 对于安卓平台的支持,建议命名应用时加上平台标识符以便区分不同版本的应用实例,例如:“我的应用名称(Android)”[^3]。 #### 下载并引入 SDK 下载适用于 Android 的最新版友盟统计 SDK 文件至本地环境后,按照官方文档指引将其添加到项目的 `native` 插件目录下,确保编译过程中能够正确识别这些库文件[^4]。 #### 修改 manifest 文件 编辑 `AndroidManifest.xml` 文件以声明权限和服务组件,通常需要增加网络访问权限以及其他由 SDK 所必需的服务描述项: ```xml <uses-permission android:name="android.permission.INTERNET"/> <!-- 更多所需权限 --> ``` #### 初始化 SDK 在主活动中初始化友lymp统计模块,一般是在 `onCreate()` 方法内执行如下操作: ```java import com.umeng.analytics.MobclickAgent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化友盟统计 MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(this, "YOUR_APP_KEY", "Umeng")); } ``` #### 自动/手动页面跟踪 启用自动页面视图追踪或者根据业务逻辑定制化地发送事件报告给服务器端处理。可以通过调用相应 API 来记录用户的交互动作,如按钮点击次数等信息。 ```java // 记录一次自定义事件 MobclickAgent.onEvent(context, "event_id"); // 或者更复杂的结构化数据上报 Map<String, String> map = new HashMap<>(); map.put("key", "value"); MobclickAgent.onEventObject(context, "structured_event_id", map); // 社交分享后的回调示例 UMPlatformData platform = new UMPlatformData(UMedia.SINA_WEIBO, "user_id"); platform.setGender(GENDER.MALE); // optional platform.setWeiboId("weiboId"); // optional MobclickAgent.onSocialEvent(context, platform)[^5]; ``` #### 测试验证 完成上述步骤后,构建 APK 文件并通过真机测试确认统计数据能否成功上传至友盟后台。注意首次提交的数据可能会有一定延迟才显示出来。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值