灵动高效 简化运营

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



本文出处:畅享网
本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值