灵动高效 简化运营随着时代的发展,企业的不断壮大,其运营成本也水涨船高 本文关键字: SDK 随着时代的发展,企业的不断壮大,其运营成本也水涨船高。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第一时间分享技术,希望能够帮助友商尽快跟进,群策群力,为客户提供更加优质的服务体验,同时带动行业进入一种良性的互动,大家取长补短,共同营造更加健康的服务生态。而我们一贯秉承的理念,用数据改变世界不仅仅只是一个口号,我们一直在努力用数据改变企业的根本运营模式,同时帮助企业和人们了解周围的环境。灵动分析吹响了移动数据分析新时代的号角,灵活高效,简化运营,将研发人员从繁琐的代码工作中解放出来,激发更多有益创新,为业界带来更多的积极变化。这便是我们灵动分析产品背后的坚实意义。 责编:胡雪妍 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新文章
|