跨平台应用开发进阶 (二十九) :uni-app 实现 Android 原生 APP- 云打包集成神策详细教程
一、前言
uni-app
应用开发过程中,考虑接入神策做数字化运营。
在采用神策采集用户行为数据前,首先需要根据业务分析需求明确采集的目标行为,进一步搞清楚应该在哪些地方埋什么样的点。这个环节的输出物一般被称之为“埋点需求文档(DRD
)”。在大部分互联网公司,规范的产品迭代流程是,业务侧产品经理在输出“产品需求文档(PRD
)”的同时,数据产品经理或分析师等角色需要同步输出 DRD
,双方的需求同步进入开发和测试验收。
由于神策的底层数据模型是 Event + User
的事件模型,因此埋点在神策分析里被称之为“事件”,埋点需求文档则被统称为“采集方案设计
”,该工作需要借助神策方提供的《数据采集方案》模板来完成。
神策采集方案设计的核心思路,大体来说分为如下几点:
将用户行为拆解为单个的点击或浏览动作;
将需要分析的目标动作抽象为“事件”,添加事件维度;
根据业务需求,整体完善采集方案设计;
实战应用感想:通过阅读神策官方操作文档,发现神策体量较重,对于想要采集的用户行为均需要手工代码埋点,代码侵入严重。
二、集成
插件市场下载相关 sdk->Sensorsdata-UniPlugin-JS
文件,放进项目文件夹。
2.1 集成 uni-app 插件
下载神策 uni-app 插件,将下载的 Sensorsdata-UniPlugin-JS
文件夹放在自己项目中的 common
文件夹中。
添加后目录如下图所示:
2.2 云端集成原生插件
打开 DCloud 插件市场中神策分析 uni-app 插件主页,并点击 ”购买(0 元)for 云打包“ 按钮。
绑定包名
云打包时会校验 Appid、包名和已购买插件的关系。至少需要填一个,如果暂不填,后续可以在"已购买插件"栏目补填。
包名一旦绑定后将不能修改,请务必注意在此处输入的包名应与打包时的包名完全一致!
2.1.2. 加载原生插件在
mainifest.json
文件中的 App 原生插件配置中下载已购买的云端插件。
2.3 离线集成
2.3.1 获取插件包
打开 DCloud 插件市场中神策分析 uni-app 插件主页,并点击 ”下载 for 离线打包“ 按钮。
2.3.2 在 HBuilderX 中集成原生插件
用 HBuilderX
打开 uni-app
项目,并在项目根目录下新建 nativeplugins
目录(已存在不需要新建)。
解压下载的离线插件包,并添加至 nativeplugins
目录下。
打开 manifest.json
配置面板,选择 App 原生插件配置,并选择点击 ”选择本地插件“ 按钮,添加本地插件。
添加插件参数信息。
配置信息完成后,需制作自定义调试基座。运行 → 运行到手机或模拟器 → 制作自定义调试基座,并填写应用相关信息后提交打包。
2.4 集成结果验证
经过上面的云集成或离线集成操作后,如何验证集成成功与否呢?集成成功后,APP 端并不会看到验证结果,需要到相应的神策 Web 控制台查看。
三、使用 uni-app 进行埋点
3.1 APP.vue 文件配置 + globalData 全局埋点
在app.vue
中导入index.js
文件后进行配置
进行全局注册
通过使用gettApp().globalData
获取全局案例。
页面中使用例如: getApp().globalData.sensors.track('ApplyReturnClick',{});
3.2 代码埋点(代码侵入性强)
在具体的位置添加事件埋点,以按钮点击时触发事件为例
其中对应的事件名为:BuyProduct; 对应的事件自定义属性为 ProductID 和 UserLevel;
3.3 用户登录
当用户注册成功或者登录成功时,需要调用 login 接口
为了准确记录登录用户的行为信息,建议在以下时机调用一次 login
接口:
用户在注册成功时;
用户登录成功时;
已登录用户每次启动 App 时。
注意⚠️:登录接口传入的类型需要字符串类型,切勿传入 Number 类型,否则会导致打包成 iOS App 时登录不生效。
3.4 记录激活事件
可以在设置全局变量后调用激活接口:
3.5 设置公共属性
对于所有事件都需要添加的属性,在设置全局变量后调用 register 方法将属性注册为公共属性
公共属性在 H5 的页面生命周期内有效;
小程序在 App 生命周期内有效;
App 会保存在本地缓存中;
可以通过调用 unRegister 方法删除一个或者多个公共属性。也可以使用 clearRegister 方法删除所有已经设置的公共属性;
3.6 设置用户属性
setProfile
方法可以设置用户属性,同一个 key 多次设置时,value 值会进行覆盖替换。
三、拓展阅读
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e96a7c8bb3c48f3951dee486】。文章转载请联系作者。
评论