APP产品线上埋点方案

运营运维系列文章

  1. APP线上产品的日志埋点方案
  2. APP软件产品运营推广

博客创建时间:2023.03.08
博客更新时间:2023.03.18

以Android studio build=7.0.0,SDKVersion 31来分析讲解。如图文和网上其他资料不一致,可能是别的资料版本较低而已。


前言

线上产品是产品运营的一种常规手段APP软件产品运营推广,对于线上产品,有时候开发会处于一种黑盒状态无法感知现状,只能通过客服和应用市场评价才知道线上问题。

当线上出现用户的使用问题后,开发也不太好恢复当时的情景进行排查解决。所以对线上产品进行用户操作行为进行埋点,便于产品的信息收集、上报和分析,可以帮助我们排查和解决线上的问题。

埋点

什么是埋点?

所谓埋点就是在应用中特定的流程收集一些信息,埋点是为了对产品进行全方位的持续追踪,通过数据分析不断指导优化产品。数据埋点的质量直接影响到数据,产品,运营等质量。

埋点的方式

  1. 自己公司研发在产品中注入代码统计,通常有客户端埋点和后台埋点。自定义程度高
  2. 第三方统计工具,如友盟、神策、Talkingdata、GrowingIO等。可能有数据安全风险

埋点的作用

  1. 产品迭代:产品的迭代离不开用户的行为数据,通过用户行为分析产品是否有问题,比如用户注册过程中的页面转化挖掘,这些数据都依赖埋点的上报

  2. 精准用户运营:对用户进行精细化运营需要对用户进行分层,用户的分层离不开用户的行为上报。比如针对用户的付费的RFM分群就基于用户的付费的时间以及金额的上报。
    比如,谁在用这个产品?用户是否喜欢?是如何使用的?都有什么特征?哪些渠道带来的用户质量更高….我们可以用数据来回答这些问题。

  3. 完善用户画像:基本属性(性别、年龄、地区等),行为属性(设备操作习惯等)这些数据都依赖埋点的上报才可以获取到。

  4. 产品指标计算:公司内部涉及的常见的核心指标。如DAU(日活跃用户数), MAU(月活跃用户数), 活跃时长,留存率,付费用户数,付费金额这些指标都是需要通过埋点的上报然后进行计算完成的

埋点目标

埋点的目标不同,最终数据验证的效果也会有不同。如新版本上线的用户行为和功能效果数据验证(几种场景)

  1. 新功能是否得到用户的使用与认可?新版本增加的新功能,用户点击率怎样?
  2. 用户在核心使用路径上是否顺畅?有没有因为交互体验功能按钮的设计而导致无效点击增多?
  3. 针对某个特别的日期进行了产品内的广告banner推广或者促销,该活动运营的效果如何?

如何进行埋点流程

1. 了解产品形态
指的是整个产品的运作逻辑,关注的是用户角色,信息和渠道,以及他们之间的流转关系是什么样的,像是产品的一个蓝图和框架。

2. 了解业务逻辑
指的是要执行某个业务,用户角色需要走过的路径,会有什么角色参与,有什么功能模块(或子系统)参与,模块之间的关联性,数据之间的流向是什么样的。

3. 业务流程图
是在业务逻辑的基础上,对功能分解下来,比如唱吧的录歌业务逻辑,会有个模块是生成评分,那生成评分这个模块,她的具体业务流程是什么样的,会有什么细节流程,异常流程,提示等。

4. 将节点化的业务代码化
这一步骤,主要是将列出的重要节点(需要统计的节点)添加统计事件和统计参数。

5. 交付开发调整DRD
可以与产品经理和开发人员沟通协调,并交付所需要的数据指标体系。

6. 数据分析
后期数据库中有了相应节点的统计情况,之后就可以拿来分析了。


埋点方案设计

埋点的目标
每一个埋点的需求都是为了解决某个业务的需求,所以在写埋点方案的时候,需要明确这次方案是为了上报什么具体的数据

确认上报的变量
上报的变量主要由事件+其他参数变量 组成的,其中事件是必须的,用来标识这一次具体的操作,其他参数变量一般是和事件相关的。

明确事件的上报时机
事件的触发时机,往往是影响数据准确性的重要因素。
以用户的点击行为为例,比如统计用户点赞这个行为,我们是以用户点击点赞按钮的时候上报还是以用户成功点赞以后再上报,结果是有偏差的。

埋点的优先级
一般同时提的埋点需求是多个的。这时候就需要规划好自己的埋点需求的优先级。因为提到开发那边,他们也是根据你的优先级来做的。

事件模型

如果想要对用户的行为进行埋点收集数据,那么我们需要知道我们该收集那些信息,比如程序发生了什么事(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 12
        var sysVersion: String? = null
        //设备系统类型,如鸿蒙、android
        var sysType: String? = null
        //用户国家
        var userCountry: String? = null
        //用户在平台中对应的userId
        var userId: String? = null
    }
}

埋点事件上报

不管是自己的日志平台还是第三方平台来保存日志,考虑到存储容量和费用问题,日志的生成都应该有一定限制和规则。

  1. 对关键行为进行上传,如果描述内容较多,可以对常见类型进行分类用代号码来进行标识
  2. 事件上报到平台时,如果如果有需要可以对日志进行压缩后上传
  3. 如果事件信息考虑到安全性,可以对日志先进行数据的加密,虽然这会影响一定的效率
    在这里插入图片描述

日志存储平台

1. 亚马逊云S3

一般的公司可能有自己的日志埋点运营平台,也有些公司为了节省运行成本可能没有自己的平台,如果没有自己的日志存储平台那么我在此推荐一个平台亚马逊云S3

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。关键可有5GB容量12月的免费套餐,可以先体验再决定后续是否续费。
在这里插入图片描述

2. Kibana

Kibana 是一款免费且开放的前端应用程序,其基础是 Elastic Stack,可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。
尽管人们通常将 Kibana 视作 Elastic Stack(之前称作 ELK Stack,分别表示 Elasticsearch、Logstash 和 Kibana)的制图工具,但也可将 Kibana 作为用户界面来监测和管理 Elastic Stack 集群并确保集群安全性,还可将其作为基于 Elastic Stack 所开发内置解决方案的汇集中心。
在这里插入图片描述

总结

埋点的宏观目标是为了获取数据指标来整体上验证产品的业务逻辑是否顺畅,之前的一些基本假设是否成立?这时候涉及需要验证的数据可能会涵盖:产品方向、市场运营和商业逻辑三大方面。

埋点本身其实是对产品的一个可视化健康检查,通过逻辑和数据,贯穿产品的整个生命周期,使产品逐步达到最佳状态。为未来产品优化方向给出指导意见。

产品的数据监控一般常用的数据指标也都不难掌握。关键是数据指标的设计要基于两点事实:

  1. 商业模式和业务背景
  2. 数据分析动机和目的

在日常的产品运营中,我们只用关注那些能影响公司核心业务的指标,以此来做快速的业务表现判断,能极大地提高效率,快速发现问题并解决。


相关链接

  1. APP线上产品的日志埋点方案
  2. APP软件产品运营推广

扩展链接:

  1. 项目开发混淆从初识到理解
  2. 项目开发代码分支管理

博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
### 回答1: app产品详细设计说明书是指针对某一款app产品,对其进行全面、详细的设计说明的文档。其中包括了app的功能设计、界面设计、流程设计、数据结构设计等方面的内容。 功能设计是根据app的需求及目标用户,确定app所具备的功能模块及其功能实现方式。需要明确每个模块的功能,并进行功能流程图的设计,以便于开发人员有明确的开发方向。 界面设计是根据app的设计风格及目标用户的需求,确定app的整体界面风格以及每个界面的布局、颜色、字体等设计元素。需要设计出具有一致性、易用性和美观性的界面,提高用户的交互体验。 流程设计是根据app的功能需求,在界面设计的基础上,设计出用户在app中的操作流程。需要考虑用户的操作习惯和流程的合理性,确保用户能够顺利地完成各项操作。 数据结构设计是根据app的功能需求,确定app所需要的数据结构及其关系。需要设计出合理的数据库表结构,确保数据能够有效地存储和查询,提高app的性能。 除了以上几点,还需要在详细设计说明书中包括技术选型、安全设计、性能设计、扩展性设计等方面的内容,以便于开发团队能够按照说明书进行开发和测试。 通过app产品详细设计说明书,可以使开发团队对app的功能、界面、流程、数据等方面有清晰的了解,从而进行有针对性的开发工作,提高开发效率,并确保app能够满足用户的需求,具备良好的用户体验。 ### 回答2: App产品详细设计说明书是指根据产品需求和功能要求,对App的各个模块进行详细设计的文档。它包含了App的整体架构设计和各个模块的功能描述、界面设计、数据流程、交互逻辑等内容。 首先,App的整体架构设计是设计说明书的第一部分。这部分主要包括系统的总体设计思路、功能划分和模块组织结构等内容。通过对系统整体的把握,可以明确各个模块之间的关系,确立开发的方向和目标。 其次,App的各个模块的功能描述是设计说明书的重要内容之一。通过详细描述每个功能点的具体需求和实现细节,开发人员可以清楚地了解每个功能点的需求和背后的逻辑。这样可以有效避免沟通误差,提高开发效率。 接下来,界面设计也是App设计说明书不可或缺的一部分。它包括主界面、子界面、对话框等各种界面元素的设计。设计师需要根据产品风格和用户习惯,提供简洁、直观且易用的界面设计方案。界面设计需要考虑到用户操作的便利性,提供合理的布局和交互方式。 最后,数据流程和交互逻辑是设计说明书的最后一部分。它描述了App的数据流向和各个模块之间的交互关系。通过对数据流程和交互逻辑的设计,可以实现系统的高效、稳定运行。 综上所述,App产品详细设计说明书对App的开发和设计起到了重要的指导作用。通过详细描述系统的功能、界面和交互,可以确保开发人员能够准确理解并按照需求进行开发。同时,设计说明书还可以为产品的迭代升级提供参考,提高产品的质量和用户体验。 ### 回答3: App产品详细设计说明书是一个用于指导软件开发团队进行开发和设计的文件,它包含了产品的功能需求、界面设计、系统架构、数据流程和各种模块的详细说明。 首先,设计说明书会列出产品的功能需求,包括核心功能、附加功能和用户需求。这些功能需求应该明确、具体,并能满足用户的期望。 其次,设计说明书还包含了产品的界面设计。它描述了界面的结构、布局和视觉元素,以确保产品的用户界面直观、易用、美观。 接下来,系统架构是设计说明书中的重要部分。它会定义整个系统的结构,并描述系统组件之间的相互关系。这有助于开发团队理解系统的各个模块,并进行模块的划分和分配。 设计说明书还会描述数据流程,包括数据的输入、输出和处理过程,这对于数据的正确流动和处理非常重要。 最后,设计说明书还会详细说明各个模块的功能和处理流程。每个模块都需要列出其目的、输入和输出,以及与其他模块之间的交互。这对于开发团队的成员了解各个模块的功能和使用方式非常重要。 综上所述,App产品详细设计说明书是一个非常重要的文件,它能够清晰地指导开发团队进行产品的开发和设计。它包括功能需求、界面设计、系统架构、数据流程和模块设计的详细说明,确保产品的质量和用户体验。设计说明书的编写需要准确、详尽,并与开发团队密切合作,保持沟通和交流,以达到最终满足用户需求的目标。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值