(1)Bonree SDK 概述
Bonree SDK 为采用被动式监测方式对移动端APP 进行监测,面向关注移动应用性能和用户行为分析的客户市场需求,通过在APP 代码中植入探针的方式,抓取DNS 耗时、TCP 耗时、SSL 耗时等性能数据和新增用户、活跃用户等行为指标,帮助企业发现并了解APP 上线后存在的应用性能问题,定位造成问题的代码本源,快速修正APP 存在的隐藏问题点,避免因应用性能问题而造成用户流失。同时收集并分析用户行为数据,了解用户偏好,帮助企业更好的开展精准营销,为客户带来附加的商业价值。
Bonree SDK 为采用被动式监测方式对移动端APP 进行监测,将负责监测回收数据的Bonree SDK 软件开发包嵌入到客户自己的APP 中,当真实用户使用集成了SDK 的APP 时,SDK 会在规定的时机通过方法调用等动作来获取指定数据并上报给数据中心。在此过程中,用户的性能和行为数据将会被自动抓取,并根据预设的数据采集回传周期,自动回传到的APP 数据平台进行分析。Bonree SDK 可对APP 运行中的用户体验、应用接口性能、应用代码性能和质量进行分析,并生成分析报告呈现监测结果。通过过滤器设置,数据平台可以将无效数据进行过滤,使报警和分析报告更加精准。用户可选择使用截图或系统提供的下载、自动报告等功能生成数据报告。
Bonree SDK 的主要工作流程
①客户在其原有APP 代码中嵌入Bonree SDK 软件开发包,SDK 开发包主要用于监测回收数据;
②客户向APP 真实用户更新发布嵌有SDK 包的APP 安装软件,真实用户下载APP,并安装运行,SDK 包随之开始运行;
③当真实用户使用集成了SDK 的APP 时,SDK 会在规定的时间通过方法调用等动作来获取指定数据并上报给数据中心,在此过程中,用户的性能和行为数据将会被自动抓取,并根据预设的数据采集回传周期自动回传;
④平台对采集到的数据进行相关分析,全面掌握APP 运行中的用户体验、应用接口性能、应用代码性能和质量等具体信息,并生成分析报告呈现监测结果。通过过滤器设置,测试平台可以将无效数据进行过滤,使报警和分析报告更加精准。用户可选择使用截图或系统提供的下载、自动报告等功能生成数据报告。
⑤客户可通过平台对监测结果及报表进行查询,进行性能及用户行为分析;
⑥根据监测结果,客户可追溯问题本源并对系统进行优化升级。
(2)Bonree SDK 主要服务内容
Bonree SDK 可以同时对移动端APP 的性能情况以及用户的行为进行监测和分析,对移动端APP 性能情况监测内容主要有以下几点:
①网络请求分析
通过集成到 APP 中的SDK,可以对实际用户访问APP 时产生的网络请求性能进行监测和分析,找到影响用户体验的问题来源,帮助客户找出自身服务的问题,全面提升APP 的使用体验。
系统可以从视图维度、目标主机维度、请求域名维度、APP 版本维度、以及客户端所属地域、运营商、接入方式维度逐层定位网络请求的性能瓶颈,并最终找出对用户访问性能体验造成拖累的根源——慢请求,并进一步对慢请求进行深度分析,快速找到解决问题的方向。
②网络错误监测
通过客户端返回的错误码定位网络请求发生的错误,有多种维度可用选择分析,包括视图、主机、域名、地域、运营商、接入方式、APP 版本、错误类型。
③APP 崩溃监测
利用嵌入到 APP 中的SDK,可以轻松获取每一次发生的应用崩溃情况,并将数据汇总整合,从视图、OS 版本、APP 版本维度逐层定位崩溃问题。对于崩溃问题,按照崩溃类型、崩溃原因和导致崩溃的关键方法进行合并。崩溃详细信息还会展示出每一次发生崩溃时的内存、CPU、存储空间、是否越狱、电量、GPS 状态、屏幕分辨率、屏幕方向、系统语言等上下文环境信息辅助判断,同时还会列出崩溃时的堆栈内容和崩溃发生前用户的访问轨迹,最终定位到崩溃的原因,由开发人员进行修复。修复后的崩溃问题可在平台上进行标记,用于管理和跟踪。
④劫持监测
客户通过配置自身域名对应的主机,以及自身服务包含的所有域,系统可以在实际用户访问时,统计出有哪些域名没有正常解析到客户的主机上(即发生了DNS 劫持)以及由哪些非客户的请求出现(即发生了链路劫持)。DNS 劫持分析可以找出哪些域、哪些地域运营商接入方式下发生DNS 劫持次数最多,以及被劫持的主机IP 分布情况。链路劫持分析可以找出哪些元素、哪些城市运营商发生的链路劫持最多,劫持的趋势、劫持主机分布、发生劫持的APP 版本分布、视图分布信息。
⑤交互分析
用户在使用 APP 的时候可能会遇到程序前端UI 渲染和后台方法处理响应慢而导致用户体验不佳的情况。移动客户端监控的交互分析功能可以对这类问题进行监控排查。通过定位交互性能不佳的视图,可以获知这些视图交互时前端UI 线程方法和后台处理线程方法的执行耗时情况,慢交互在各个设备型号、操作系统版本、APP 版本中的分布,最终支持对每一次慢交互的过程进行深度分析,包括这一次慢交互过程中各个线程方法调用情况,耗时情况,以及这些时刻CPU、内存的波动及网络请求的加载数据。
⑥客服检索
系统可以通过单个客户标记,如客户 ID、用户名称来搜索出崩溃或错误数据,在客服接到客户投诉时,可通过记录下的客户ID,将相应的崩溃问题、使用问题交由技术人员进行处理。
⑦关键元素监测
系统允许用户将某个或某些具有一定规则的元素设定为关键元素,对这类关键元素单独计算其性能。当用户设定的关键元素发生错误时,也可以在关键元素模块中直接快速查看到,做到重点业务重点关注。
⑧Html 5 页面监测
Bonree SDK 平台支持APP 全应用监测,一次嵌码获取Html 5 页面的性能数据和错误数据,全面定位问题原因及真实用户访问效果。通过慢页面加载信息、页面加载分解、元素加载过程耗时等性能数据,快速定位Html 5 页面耗时环节及元素加载情况;通过对Html 5 页面错误次数、错误率数据采集,依据错误时间、错误类型、错误页面、错误APP 版本、错误OS 版本等多维度分析,全面了解Html 5 页面的错误情况,定位Html 5 页面错误原因,展示详细的请求地址、UserAgent、错误信息、错误堆栈信息等内容,便于研发人员查看和优化。Bonree SDK 采用被动式监测技术获取真实用户的操作情况信息,不仅可以对APP 运行的性能情况进行监测,更能对用户的行为进行监测和分析。用户行为监测主要有以下几点:
①多维度基础运营数据监测
系统允许用户从 APP 版本、推广渠道、客户端来源地域、操作系统版本、设备机型、屏幕分辨率、客户端所属运营商、接入方式多种维度对新增用户、活跃用户、启动次数这类关键的基础运营数据进行排序、趋势走向、规律分析、详细数据对比等分析的要求。
②活跃分析
系统可以获取日活跃 (DAU) 、月活跃(MAU) 、日活在月活中的占比(DAU/MAU)等的详细数据,并可以从上述角度分析用户活跃度变化规律。客户可以通过这些数据,分析APP 的实际运营情况、产品变化等对用户使用情况的影响。
③留存分析
系统包含两种分析模型工具,一是行业标准留存率算法计算的次日留存率、7 日留存率、30 日留存率在APP 版本和渠道维度的分布以及趋势分析。二是可以用户选择使用行业标准的新增用户留存或使用活跃用户的留存来计算每日、每周(分自然周和滚动周)、每月的留存矩阵数据。
④流失分析
系统通过一定的条件来判定用户是否在某日流失,之后以 APP 版本和渠道作为维度来对流失用户进行分布排序和时间趋势规律分析。用户可以切换流失条件,生成不同条件下流失用户的数据。系统包含连续7 日未使用,连续14 日未使用和连续30 日未使用三种流失条件。
⑤用户粘性分析
产品质量越高,产品内容与受众越契合,用户粘性就越高,因此用户粘性也可以从侧面一定程度反映出产品质量和运营效果。系统通过用户每日使用APP的频度、用户多次使用APP 之间的间隔、用户平均每一次使用APP 的时长三个角度来反应当前APP 对于用户受众的粘性。
⑥页面交互分析
通过在特定的地方调用自定义页面数据接口,系统可以抓取实际用户访问这些页面的数据,包括页面的访问次数、访问占比、访问人数、平均停留时间以及跳出率,为企业识别热门页面,分析页面受欢迎程度等信息。
⑦事件交互分析
通过在特定的地方调用自定义事件数据接口,系统可以抓取实际用户的交互动作数据,包括用户触发事件的次数及独立用户数。
⑧转化率分析
用户可以将有前后关联的自定义事件进行组织,组合成特定业务的流程,通过监测流程中各步骤(事件)的达成次数与达成人数,计算出业务流程的转化效果数据。
客户通过转化漏斗可以对比不同版本、不同推广渠道的业务转化效果,从而获知产品改进效果,识别高效渠道等。



