跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程_uniapp转安卓原生

总结

【Android 详细知识点思维脑图(技能树)】

我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

最后,赠与大家一句话,共勉!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

	- [3.2 代码埋点(代码侵入性强)](#32__117)
	- [3.3 用户登录](#33__126)
	- [3.4 记录激活事件](#34__141)
	- [3.5 设置公共属性](#35__148)
	- [3.6 设置用户属性](#36__159)
+ [三、拓展阅读](#_166)

一、前言

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文件后进行配置

import sensors from '@/js\_sdk/Sensorsdata-UniPlugin-JS/index.js'; //埋点
var server_url ="https://m.qxdaojia.com/"
if($config.api_url == "https://m.qxdaojia.com/api/"){
	server_url = "https://scdata.qxdaojia.com/sa?project=product"
} else if ($config.api_url == 'https://day.m.qxdaojia.com/api/'){
	server_url = "https://scdata.qxdaojia.com/sa?project=default"
}

sensors.setPara({
	server\_url: server_url,       //数据上报地址 必填 @Platform All
	show\_log: true,               //日志打印 @Platform All
	name:'sensors',               //参考小程序文档 @Platform 小程序
	autoTrack: {
		appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
		appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集
		appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集
		pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集
		pageShare: true, // 默认为 true,false 则关闭 $MPShare 事件采集
		mpClick: true, // 默认为 false,true 则开启 $MPClick 事件采集
		mpFavorite: true, // 默认为 true,false 则关闭 $MPAddFavorites 事件采集
		pageLeave: false // 默认为 false, true 则开启 $MPPageLeave事件采集
	},
	// #ifdef H5
	heatmap: {
		//是否开启点击图,default 表示开启,自动采集 $WebClick 事件,可以设置 'not\_collect' 表示关闭。
		clickmap:'default',
		//是否开启触达图,not\_collect 表示关闭,不会自动采集 $WebStay 事件,可以设置 'default' 表示开启。
		scroll\_notice\_map:'default',
		collect\_tags:{
			div: true,
			img: true
        },
	} ,
	// #endif
	app\_flush\_interval: 15000, // 设置两次数据发送的最小时间间隔 @Platform Android&iOS
	app\_flush\_bulkSize: 100,  // 设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
	app\_flush\_network\_policy: 30, // 设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush @Platform Android&iOS
	app\_session\_interval\_time: 30000, // Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
	app\_data\_collect: true ,//是否开启数据采集 @Platform Android
	allow\_amend\_share\_path: true // 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
});

进行全局注册

globalData: {
	sensors: sensors
}

通过使用gettApp().globalData获取全局案例。

【延伸Android必备知识点】

【Android部分高级架构视频学习资源】

**Android精讲视频学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水!

**任何市场都是优胜略汰适者生存,只要你技术过硬,到哪里都不存在饱和不饱和的问题,所以重要的还是提升自己。懂得多是自己的加分项 而不是必须项。门槛高了只能证明这个市场在不断成熟化!**另外一千个读者就有一千个哈姆雷特,所以以上只是自己的关键,不喜勿喷!

如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。欢迎关注会持续更新和分享的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值