首页 > 编程知识 正文

友盟埋点,app埋点是什么

时间:2023-05-06 09:07:27 阅读:26785 作者:2602

埋点事件跟踪(又称事件跟踪),是指捕获、处理和发送特定用户行为和事件的相关技术及其实施过程。

功能方面:嵌入点用于收集用户行为数据。 例如,如果您想知道某个用户在APP中单击了哪个按钮,看到了哪个页面,做了什么,您可以通过填充积分来实现。

实现方式方面:嵌入点是指通过在页面或按钮中嵌入代码来拦截、收集和上报用户行为。

第一步【嵌入点收集】:通过引入嵌入点来收集数据

第2步【数据传输】:传输填补要点收集到的数据

实时传输: flumekafkadb? 脱机批量传输: jdbcdb步骤3【数据存储】:定义数据存储的库。 如果数据量较少,则建议使用mysql、oracle等关系数据库,因为数据量较大,所以建议使用hive、hbase等分布式数据库。

定义数据存储的表结构,并尽可能全面地收集属性。

第4步【数据统计】:根据业务需求进行etl开发,输出业务所需的数据

第五步【数据应用】:业务人员验证和使用数据

1垃圾填埋场收集1.1根据垃圾填埋场范围业务人员的需求,选择可以衡量需求效果的数据指标,如页面浏览量、页面转化率、访问者数量、访问频率分布等。 明确需要收集哪个维度的数据,根据需要选择性地填补积分。

1.2积分事件对涉及一个业务流程的各种操作进行事件填充,可以了解该业务各操作流程的用户流失率、转换率等。 通常包括但不限于以下事件:

页面事件:用户访问页面的信息。 例如,可以在页面嵌入点统计页面浏览量(PV )或收集该页面上的界面的点击事件:用户在页面上的点击行为。 例如,在用户点击了检索按钮时,想要收集输入了哪个关键字的情况下,可以在检索按钮中嵌入点击事件,实现使用从字段keywords报告的值来分析关键字的目的。 1.3在收集内容嵌入点时,需要尽可能全面地收集数据,主要包括以下信息:

用户基本信息:用户ID、性别、载体、设备种类等描述用户的基本属性信息:事件发生的时间行动信息:用户采取了什么样的行动,例如点击行动、浏览行动等行动对象信息:用户的行动作用于哪个对象浏览页面b时,a、b除了是用户的行为作用对象外,还可以来自4w1h () ) who、who )的where、what、how ) 5个维度中嵌入点属性2数据存储2.1存储方式嵌入点

【Mysql】:具有数据量少、读写方便的优点

【ES】:在现有的嵌入点方案中,蚂蚁金服系统通过ES查询嵌入点结果

【Hbase】:适合数据量大,可以考虑使用现有的Hbase集群。

数据写入方式:中间件or直接写入?

2.2存储频率采用【定时】【定量】方式,保证数据的时效性和数据的平滑处理。

时机:周期性触发并记忆。 避免在数据量小时长时间保存。

定量:设定阈值,数据量达到一定量(1k )后记忆

程序退出:当一个用户退出登录时,必须立即保存

3注意事项3.1点击、浏览、曝光等行为可以在前端进行积分,主要发生在用户与界面的交互; 如果要统计电子商务业者中订单成功的事件,客户端就无法知道订单是否成功。 如果统计事件中有需要使用后端的数据,也必须进行后端嵌入。

3.2嵌入事件的格式必须保存嵌入数据,并且该数据具有相应的字段。 通常,一个嵌入的数据需要记录。

事件ID、事件名称(英文名、中文解释)、事件属性)、属性英文名、中文解释、属性类型)、嵌入点格式(前端/后端)、事件触发定时)以及何时分发此事件

3.3填充信息(消息)是网络

络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。简单来说就是用户在App内有一个操作行为,就会上报一组带有数据的字段。这些字段组成一个报文。报文一般包含以下字段,简单举例,根据公司业务自行增删

{ "os": "js",
"os_vers": "端上的OS版本",
"dev_id": "设备id",
"model": "设备型号",
"manufacturer": "设备制造商",
"proj_id": "工程id",
"source": "渠道输入数字:1android_2ios_3H5_4小程序_5微信_6服务器后端_7QQ_100其它",
"proj_ver": "软件版本",
"up_time": "报文上传时间-毫秒时间戳",
"face_id": "事件全局唯一标识",
"accs_time": "事件发生时间,毫秒时间戳",
"serv_time": "服务器时间,毫秒时间戳",
"event_type": "view/click", "event_ver":"业务版本/事件版本
"ip": "290.39.55.75",
"longitude": "56°75.343",
"latitude": "143°07.230【非必填GPS关闭无法获取】",
"netwk_typ": "wifi/4G" },
"refer_id": "无埋点场景下所浏览页面的上一个页面的唯一标识",
"duration": "页面浏览毫秒数,关闭页面时统计",
"banner_id": "埋点自定义事件属性值",
"banner_name": "埋点自定义事件属性值",
"banner_type": "埋点自定义事件属性值",
"banner_city": "埋点自定义事件属性值" },
"usr_props": { "gid": "游客id", "uid": "登录账号", "province": ‘上海’】",
"city": "北京",
"city_code": "110",
"age": "22",
"sex": "1男_2女",
"phone": "13601197458",

解释一下这些报文的意思

1) trace_id为每个事件的全局唯唯一识别符,trace_id=md5(proj_id+source+accs_time+"salt盐")

proj_id为工程id,accs_time为端上行为时间source为渠道来源:1android_2ios_3H5_4微信小程序_5微信环境_6服务器后端(只填数字)

2) 请求为post提交方式,header中需要添加:projId,source,upTime,uploadId 四个参数,uploadId=md5((projId+source+upTime+"salt盐")

proj_id为设备id,upTime为上传时间source为渠道来源:1android_2ios_3H5_4微信小程序_5服务器后端(只填数字)由于nginx中lua编程接收参数自身原因,header中的参数只能使用驼峰 projId,source,upTime,uploadIdsalt测试环境下为:test,salt正式环境下为:p1@PeFz4ZX

3)uid值在游客状态下为空,登录状态下有值;dev_id值在任何情况下都得传4)上面的报文为一次上报的报文格式,data中可以包括多次事件的信息5)基于客户端每次要使用客户流量才能获取$province,$city,ip,这三个字段保留,但是值为非必填。最终由后端根据请求ip和经纬度计算省市信息。6)报文中的json的所有的key可以不能遗漏,即使是value为空,如果是空值要用双引号"",不要用null。7) proj_id、sdk_ver、event_id,业务属性,必须按照产品需求保证对应关系,否则上报的数据会被丢弃。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。