logo好方法网

一种埋点管理方法及装置


技术摘要:
本申请示出了一种埋点管理方法及装置。在本申请中,在页面中的需要监听的元素发生所需监听的种类的触发事件的情况下,可以不立刻上报针对该元素发生该种类的触发事件的统计数据,而可以在缓存池中缓存针对该元素发生该种类的触发事件的统计数据,之后批量上报缓存池中  全部
背景技术:
随着技术的飞速发展,应用程序厂商开发的可以在Android(基于Linux的自由及 开放源代码的操作系统)上运行的Android应用程序或在IOS(苹果公司开发的移动操作系 统)上运行的IOS应用程序越来越多。 以IOS为例,有时候,为了扩展IOS应用程序的功能,在IOS开发环境中开发IOS应用 程序时,可以在IOS应用程序中添加基于Flutter端开发的Flutter用户界面等。 为了搜集用户在Flutter用户界面上的一些使用信息,以使开发人员可以进一步 优化IOS应用程序,则开发人员可以在Flutter用户界面的源代码上手动配置埋点。然后在 Flutter端以及IOS端分别注册通信通道,在Flutter用户界面的埋点被触发时,Flutter端 基于该通信通道可以向IOS端发送埋点数据,然后IOS端接收埋点数据,并向服务端上报埋 点数据。 然而,发明人发现现有技术中存在如下问题: Flutter端每次向IOS端发送一个埋点数据都需要在IOS应用程序中启动一个新的 进程,并基于新的进程向IOS端发送一个埋点数据,如果短时间内Flutter端需要向IOS端发 送的埋点数据为多个,则需要在IOS应用程序中为每一个埋点数据都创建一个新的进程,然 后基于不同的进程分别向IOS端发送不同的埋点数据,但是短时间内在应用程序中启动多 个进程很可能会降低应用程序的性能。
技术实现要素:
为解决上述技术问题,本申请示出了一种埋点管理方法及装置。 第一方面,本申请示出了一种埋点管理方法,所述方法包括: 在渲染应用程序中的页面时,从服务端实时获取所述页面的圈选埋点配置文件, 所述圈选埋点配置文件中至少包括所述页面中需要监听的元素的元素标识以及针对所述 元素的所需监听的触发事件的种类; 在所述页面中加载所述圈选埋点配置文件; 根据圈选埋点配置文件中的所述元素标识监听针对所述页面中的所述元素是否 发生所述种类的触发事件; 在所述元素发生所述种类的触发事件的情况下,在缓存池中缓存针对所述元素发 生所述种类的触发事件的统计数据; 基于一个进程上报所述缓存池中的至少两个统计数据。 在一个可选的实现方式中,所述应用程序是基于开发框架开发出的,所述开发框 架中包括预先封装的所述第一平台端与服务端之间的通信通道的软件开发工具包SDK;所 述应用程序中集成有所述SDK、所述第一平台端以及所述第二平台端,所述第一平台端包括 4 CN 111597106 A 说 明 书 2/11 页 所述页面; 所述批量上报所述缓存池中的统计数据,包括: 所述第一平台端调用所述应用程序中集成的所述SDK; 所述第一平台端基于所述SDK向所述服务端批量上报所述缓存池中的统计数据; 在一个可选的实现方式中,所述应用程序是基于开发框架开发出的,所述开发框 架中包括预先封装的所述第一平台端与所述第二平台端之间的通信通道的软件开发工具 包SDK;所述应用程序中集成有所述SDK、所述第一平台端以及所述第二平台端,所述第一平 台端包括所述页面; 所述批量上报所述缓存池中的统计数据,包括: 所述第一平台端调用所述应用程序中集成的所述SDK; 所述第一平台端基于所述SDK向所述第二平台端批量发送所述缓存池中的统计数 据,以使所述第二平台端向服务端批量上报统计数据。 在一个可选的实现方式中,所述批量上报所述缓存池中的统计数据,包括: 在所述缓存池中缓存的统计数据的数量达到预设数量时,基于一个进程上报所述 缓存池中至少两个统计数据。 在一个可选的实现方式中,所述批量上报所述缓存池中的统计数据,包括: 获取最近一次上报埋点管理时刻; 在当前时刻与所述上报时刻之间的间隔时长大于或等于预设时长的情况下,基于 一个进程上报所述缓存池中至少两个统计数据。 第二方面,本申请示出了一种埋点管理装置,所述装置包括: 获取模块,用于在渲染应用程序中的页面时,从服务端实时获取所述页面的圈选 埋点配置文件,所述圈选埋点配置文件中至少包括所述页面中需要监听的元素的元素标识 以及针对所述元素的所需监听的触发事件的种类; 加载模块,用于在所述页面中加载所述圈选埋点配置文件; 监听模块,用于根据圈选埋点配置文件中的所述元素标识监听针对所述页面中的 所述元素是否发生所述种类的触发事件; 缓存模块,用于在所述元素发生所述种类的触发事件的情况下,在缓存池中缓存 针对所述元素发生所述种类的触发事件的统计数据; 上报模块,用于基于一个进程上报所述缓存池中的至少两个统计数据。 在一个可选的实现方式中,所述应用程序是基于开发框架开发出的,所述开发框 架中包括预先封装的所述第一平台端与服务端之间的通信通道的软件开发工具包SDK;所 述应用程序中集成有所述SDK、所述第一平台端以及所述第二平台端,所述第一平台端包括 所述页面; 所述上报模块包括: 第一调用单元,用于调用所述应用程序中集成的所述SDK; 第一上报单元,用于基于所述SDK向所述服务端批量上报所述缓存池中的统计数 据; 在一个可选的实现方式中,所述应用程序是基于开发框架开发出的,所述开发框 架中包括预先封装的所述第一平台端与所述第二平台端之间的通信通道的软件开发工具 5 CN 111597106 A 说 明 书 3/11 页 包SDK;所述应用程序中集成有所述SDK、所述第一平台端以及所述第二平台端,所述第一平 台端包括所述页面; 所述上报模块包括: 第二调用单元,用于调用所述应用程序中集成的所述SDK; 发送单元,用于基于所述SDK向所述第二平台端批量发送所述缓存池中的统计数 据,以使所述第二平台端向服务端批量上报统计数据。 在一个可选的实现方式中,所述上报模块包括: 第二上报单元,用于在所述缓存池中缓存的统计数据的数量达到预设数量时,基 于一个进程上报所述缓存池中至少两个统计数据。 在一个可选的实现方式中,述上报模块包括: 获取单元,用于获取最近一次上报埋点管理时刻;、 第三上报单元,用于在当前时刻与所述上报时刻之间的间隔时长大于或等于预设 时长的情况下,基于一个进程上报所述缓存池中至少两个统计数据。 第三方面,本申请示出了一种电子设备,所述电子设备包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为执行如第一方面所述的埋点管理方法。 第四方面,本申请示出了一种非临时性计算机可读存储介质,当所述存储介质中 的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的埋点管理方 法。 第五方面,本申请示出了一种计算机程序产品,当所述计算机程序产品中的指令 由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的埋点管理方法。 本申请提供的技术方案可以包括以下有益效果: 在本申请中,在页面中的需要监听的元素发生所需监听的种类的触发事件的情况 下,可以不立刻上报针对该元素发生该种类的触发事件的统计数据,而可以在缓存池中缓 存针对该元素发生该种类的触发事件的统计数据,之后批量上报缓存池中的统计数据,例 如,在缓存池中的统计数据为至少两个以上的情况下,可以在应用程序上只创建一个进程, 然后基于一个进程上传至少两个以上的统计数据为,降低了需要在应用程序中创建的进程 的数量,从而可以避免降低应用程序的性能。 附图说明 图1是本申请示出的一种埋点管理方法的步骤流程图; 图2是本申请示出的一种埋点管理装置的结构框图; 图3是本申请示出的一种电子设备的框图; 图4是本申请示出的一种电子设备的框图。
分享到:
收藏