运营运维系列文章
博客创建时间:2023.03.08
博客更新时间:2023.03.09
以Android studio build=7.0.0,SDKVersion 31来分析讲解。如图文和网上其他资料不一致,可能是别的资料版本较低而已。
对于线上产品,有时候开发会处于一种黑盒状态无法感知现状,只能通过客服和应用市场评价才知道线上问题。当线上出现用户的使用问题后,开发也不太好恢复当时的情景进行排查解决。所以对线上产品进行用户操作行为进行埋点,便于产品的信息收集、上报和分析,可以帮助我们排查和解决线上的问题。
所谓埋点就是在应用中特定的流程收集一些信息,埋点是为了对产品进行全方位的持续追踪,通过数据分析不断指导优化产品。数据埋点的质量直接影响到数据,产品,运营等质量。
埋点的方式
埋点的作用
产品迭代:产品的迭代离不开用户的行为数据,通过用户行为分析产品是否有问题,比如用户注册过程中的页面转化挖掘,这些数据都依赖埋点的上报
精准用户运营:对用户进行精细化运营需要对用户进行分层,用户的分层离不开用户的行为上报。比如针对用户的付费的RFM分群就基于用户的付费的时间以及金额的上报。
比如,谁在用这个产品?用户是否喜欢?是如何使用的?都有什么特征?哪些渠道带来的用户质量更高….我们可以用数据来回答这些问题。
完善用户画像:基本属性(性别、年龄、地区等),行为属性(设备操作习惯等)这些数据都依赖埋点的上报才可以获取到。
产品指标计算:公司内部涉及的常见的核心指标。如DAU(日活跃用户数), MAU(月活跃用户数), 活跃时长,留存率,付费用户数,付费金额这些指标都是需要通过埋点的上报然后进行计算完成的
埋点的目标
每一个埋点的需求都是为了解决某个业务的需求,所以在写埋点方案的时候,需要明确这次方案是为了上报什么具体的数据
确认上报的变量
上报的变量主要由事件+其他参数变量 组成的,其中事件是必须的,用来标识这一次具体的操作,其他参数变量一般是和事件相关的。
明确事件的上报时机
事件的触发时机,往往是影响数据准确性的重要因素。
以用户的点击行为为例,比如统计用户点赞这个行为,我们是以用户点击点赞按钮的时候上报还是以用户成功点赞以后再上报,结果是有偏差的。
埋点的优先级
一般同时提的埋点需求是多个的。这时候就需要规划好自己的埋点需求的优先级。因为提到开发那边,他们也是根据你的优先级来做的。
如果想要对用户的行为进行埋点收集数据,那么我们需要知道我们该收集那些信息,比如程序发生了什么事(Event)?该事件事谁产生的,什么设备?系统版本?(UserInfo)
class EventModel {inner class Event {//事件组var eventGroup: String? = null//事件类型:点击事件、浏览事件、日志事件var eventType: String? = null//事件名var eventName: String? = null//事件发生事件var eventTime: String? = null//事件其他数据var eventData: String? = null//事件发生对应产品var eventProduct: String? = null}inner class UserInfo {//设备品牌var phoneBrand: String? = null//设备类型var phoneModel: String? = null//设备名称var phoneName: String? = null//设备系统版本如Android 12var sysVersion: String? = null//设备系统类型,如鸿蒙、androidvar sysType: String? = null//用户国家var userCountry: String? = null//用户在平台中对应的userIdvar userId: String? = null}
}
不管是自己的日志平台还是第三方平台来保存日志,考虑到存储容量和费用问题,日志的生成都应该有一定限制和规则。
一般的公司可能有自己的日志埋点运营平台,也有些公司为了节省运行成本可能没有自己的平台,如果没有自己的日志存储平台那么我在此推荐一个平台亚马逊云S3
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。关键可有5GB容量12月的免费套餐,可以先体验再决定后续是否续费。
Kibana 是一款免费且开放的前端应用程序,其基础是 Elastic Stack,可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。
尽管人们通常将 Kibana 视作 Elastic Stack(之前称作 ELK Stack,分别表示 Elasticsearch、Logstash 和 Kibana)的制图工具,但也可将 Kibana 作为用户界面来监测和管理 Elastic Stack 集群并确保集群安全性,还可将其作为基于 Elastic Stack 所开发内置解决方案的汇集中心。
相关链接:
扩展链接:
博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !