灵动高效 简化运营

简介:

随着时代的发展,企业的不断壮大,其运营成本也水涨船高。TalkingData旗下移动应用统计分析系统——灵动分析大幅简化数据集成过程,只需在App中加入分析SDK,便无需再编写任何代码和更新App版本,即可实现事件跟踪、增删数据点等操作,做到完全零代码数据跟踪,真正意义上做到解放研发的双手,让他们不再需要管理冗长的埋点id列表。让运营/产品轻松完成对自定义事件的数据统计,不再需要向研发/测试解释埋点的业务逻辑,降低了沟通成本,缩短整个上线周期,从而提高公司运营效率。

作为业界率先推出五码分析系统,许多朋友对我们的无码集成细节很感兴趣,这里我们将针对产品三大技术特点就Android和iOS两大平台进行深入剖析。

1. 如何同步手机界面到管理后台:

对于Android平台,界面同步方案中有两个关键点:1. 通过Canvas来获取屏幕内容。2.获取view属性。view的属性有很多,如位置信息、唯一性、绘制相关等。哪些属性是应该上传的,哪些属性是可以忽略的,为了动态的调整这些,可以使用反射的机制来实现。具体说,就是在进入UI同步状态时,服务器将一个属性配置单下发到App中,SDK通过对配置的解析,利用反射执行配置中的指定方法获取view的响应属性数据。这也是配置即代码的一种实现。完成此两项内容后便可根据发送至管理后台的数据,完成手机内容的绘制。

对于iOS平台,同步界面的操作则分为以下几个步骤:

1. 截屏。2. 获取控件属性:根据服务器下发配置表获取每个对象所需要的属性。3. 上传数据:将屏幕截图进行base64编码,并和控件属性一起上传到服务器。4. 管理后台界面展示:管理后台绘制手机屏幕的截图,根据获取到的x、y、w、h、alpha、hidden等属性绘制控件的范围。 

2.如何绑定事件至控件:

Android系统要想定位一个控件,需要先获取当前Activity的rootview,通过以下代码,View rootView =activity.getWindow().getDecorView().getRootView(),获取之后遍历动态事件列表,用每个动态事件中控件的唯一标示去匹配rootview中的内容,其匹配规则为:viewClassName && id && tag &&contentDescription,当符合条件时,就通过代码给当前的view添加一个AccessibilityDelegate对象。 

相对应的IOS绑定事件到控件的步骤是:

1. 从服务器获取动态事件列表,根据每条动态事件数据创建一个EventBinding对象。

2. 获取当前window的rootViewController: 

3. 遍历动态事件列表,用每个动态事件中控件的path去匹配rootViewController中的内容,匹配规则遵循:ClassName&& tag && 所在容器中的成员变量名 && Button中图片的指纹 && title 

3. 如何监测点击事件: 

通过分析Android系统View类的源代码,发现可利用Android中View类的方法来实现事件触发的。即只要设置了代理就可以对具备Accessibility能力的view实现点击事件的响应,完成点击事件的监测。

而IOS对控件点击事件进行监测的步骤是: 

1. 找到要监控的控件时,就给当前控件添加一个Action。 

2. 监控事件被触发时相应的EventBinding对象得到响应,生成事件数据上报服务器进行统计。

作为移动数据的领先者,TalkingData第一时间分享技术,希望能够帮助友商尽快跟进,群策群力,为客户提供更加优质的服务体验,同时带动行业进入一种良性的互动,大家取长补短,共同营造更加健康的服务生态。而我们一贯秉承的理念,用数据改变世界不仅仅只是一个口号,我们一直在努力用数据改变企业的根本运营模式,同时帮助企业和人们了解周围的环境。灵动分析吹响了移动数据分析新时代的号角,灵活高效,简化运营,将研发人员从繁琐的代码工作中解放出来,激发更多有益创新,为业界带来更多的积极变化。这便是我们灵动分析产品背后的坚实意义。







原文发布时间为: 2016年7月19日 
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
数据可视化 IDE 安全
云巧-让开发更简单,更高效,更方便
近年来,快速迭代的新需求将引导企业改变其开发方式,进而转向使用支持快速、安全和高效的技术架构,组装式应用便成为了企业重要的战略技术趋势。组装式应用引入模块化的理念,使得各企业可以更敏捷、更有效地复用能力模块,提高商业的韧性和效率。云巧平台应运而生,能极大的改善开发环境,节省开发工作量,让开发更简单,更高效,更方便。
1852 0
|
4月前
|
编解码 测试技术 Android开发
安卓应用开发:打造高效用户界面的五大关键策略
【5月更文挑战第29天】 在竞争激烈的移动应用市场中,一个直观高效的用户界面(UI)对于吸引和保持用户至关重要。针对安卓平台,本文将探讨五种提升应用UI效率与用户满意度的关键策略。这些策略不仅基于最新的设计趋势,还结合了性能优化的实践技巧,旨在为开发者提供实用指南,帮助他们创建流畅、响应迅速且美观的应用体验。
|
10月前
|
存储 数据可视化 搜索推荐
与传统IT开发相比,低代码开发具备哪些优势?
与传统IT开发相比,低代码开发具备哪些优势?
与传统IT开发相比,低代码开发具备哪些优势?
|
数据可视化 前端开发 数据挖掘
你是否了解「软件复用理论在低代码平台中的体现」?本文带你捅破这层窗户纸
你是否了解「软件复用理论在低代码平台中的体现」?本文带你捅破这层窗户纸
171 0
|
BI 开发者
低代码如何实现生产制造行业的高效管理(二)|学习笔记
快速学习低代码如何实现生产制造行业的高效管理(二)
509 0
低代码如何实现生产制造行业的高效管理(二)|学习笔记
|
监控 开发者
低代码如何实现生产制造行业的高效管理(三)|学习笔记
快速学习低代码如何实现生产制造行业的高效管理(三)
462 0
低代码如何实现生产制造行业的高效管理(三)|学习笔记
|
数据采集 运维 供应链
低代码如何实现生产制造行业的高效管理(一)|学习笔记
快速学习低代码如何实现生产制造行业的高效管理(一)
538 0
低代码如何实现生产制造行业的高效管理(一)|学习笔记
|
数据可视化 搜索推荐 IDE
一款具备零代码和低代码能力的大数据可视化分析平台
什么是低代码平台: “低代码开发”旨在开发人员可以通过编写少量代码就可以快速生成应用程序的一种方法。 使用低代码开发平台类似于使用IDE,因为它包含了一套可以供开发人员直接使用的功能,和一套供开发人员使用的工具。然而,它实际上能提供的远远超过一个传统的IDE。简单来说,低代码开发就是将已有代码的可视化模块拖放到工作流中以创建应用程序的过程。由于它可以完全取代传统的手工编码应用程序的开发方法,技术娴熟的开发人员可以更智能、更高效地工作,而不会被重复的编码束缚住。相反,他们可以将精力集中于创建应用程序的10%部分,并使其具有与众不同的功能。与“低代码”开发相对的另一种方式是编写数千行复杂的代码和语
一款具备零代码和低代码能力的大数据可视化分析平台
|
数据可视化 安全 程序员
将业务数字化,让低代码成为管理的核心引擎|《102个开发者故事》第九期
有14年软件开发经历的陆凯,用低代码实现同仁堂健康(宁夏)公司的全面智慧管理。
645 0
将业务数字化,让低代码成为管理的核心引擎|《102个开发者故事》第九期
|
监控 数据可视化 IDE
技术扫盲:关于低代码编程的可持续性交付设计和分析
一、前言 二、什么是低代码 三、如何落地实现 四、总结
341 0
技术扫盲:关于低代码编程的可持续性交付设计和分析