近日,个推TechDay技术沙龙第二站在成都圆满落幕。本站邀请了个推安卓高级研发工程师李健民、腾讯安卓工程师王胜韬、美团点评安卓工程师张杰、新网银行前端负责人何文昌四位技术大咖,围绕“进阶移动开发、技术赋能产业”的主题,与在场来宾分享了技术实践方法及行业未来发展前景。


以下是成都站分享嘉宾的精华提炼


李健民,个推安卓高级研发工程师

《移动应用安全》


李健民阐述了移动安全中移动恶意攻击的四个主要方向:网络安全、数据安全、代码安全、设备安全,并围绕设备异常判断、黑产设备的常见攻击场景、防范黑产的解决措施三方面对设备安全进行了重点分析,随后为大家解析了新一代的大数据风控解决方案-个推“一键认证”SDK。它不仅可以帮助运营者实现APP免密登录功能,还可以全面提升APP的反欺诈能力、保障业务安全。


设备安全

一般而言,开发者可以通过检查设备所处的环境来判断设备是否处于异常的状态。如果设备信息被篡改过、被root过、系统被修改过、Xposed框架被安装过,则设备很可能已经处于黑产工具的控制下。


常见的黑产工具包括“手机卡商与接码平台”、改机工具、打码平台以及群控系统。黑产的攻击场景主要有以下四种:渠道推广、登录注册、营销活动、社区互动。


要如何防范黑产攻击?APP开发者首先可以对手机上的设备信息进行全方面的检查。检查维度包括设备信息有无被篡改、手机是否处于root环境、有无安装一个Xposed的框架、系统是否被修改过、是否处于虚拟机的环境、部分地理位置异常是否频繁。检查后对这些风控数据予以记录,并把这些数据提交给风控引擎进行多维度的分析,比如可以对它进行IP风险评分、IP画像以及判断手机号是否在黑名单。开发者可以通过多维度的模型标识高风险的用户、风险等级并告知客户端,以此进行一些防护。


个推作为专业的数据智能服务商,拥有海量数据资源,在移动安全领域也推出了相应的数据解决方案-个验。个验是个推旗下的“一键认证”产品,可以帮助APP开发者实现高效、极速、安全稳定的认证登录过程,优化用户体验。此外,个验还为APP开发者提供风险识别与风险防护的系列方案。在风险识别方面,个验可以通过设备、网络、行为等多维度识别设备风险。准确识别出风险用户后,企业可在业务上对风险用户进行限制。在风险防护方面,个验在不影响正常用户使用的情况下,通过动画验证码阻止恶意自动化程序的进一步操作。


张杰,美团点评安卓工程师

《美团行业收银 Android端工具链分享》


张杰结合美团收银行业组安卓端开发流程实践,为大家分享了美团在开发、调试、构建、测试过程中所使用的优质工具:CodeDetector、ComponentLoader、Pipeline的最佳实践以及Tccount。


CodeDetector

CodeDetector是基于主流的代码检查工具CheckStyle、Lint、FindBugs封装而成的一个静态代码检查工具,能够做到快速接入,统一配置。此外,美团在原来的技术上,做了差量检查,提高了检查的效率,可以单独使用,也可以交叉在编译过程中,减少代码扫描的耗时。


ComponentLoader

ComponentLoader作为组件开发调试神器,具有依赖替换、解决BuildType匹配问题、源代码无污染、无需打开多个工程的优点。


Pipeline的最佳实践

Pipeline是基于Jenkins的Pipeline脚本,构建的一套可标准化的Android构建框架,具有扩展性强、灵活性高等特点。


Tccount

Tccount作为测试代码管理和填充工具,通过对测试账号共享和自动填充,解决测试阶段登录账号的的痛点,其具有代码侵入小,使用方便等特点。


王胜韬,腾讯安卓工程师

《安卓应用常驻实践》


王胜韬根据其十年移动端的工作经验,为在场观众解密了安卓应用保活的无效方案和有效措施。

无效方案

1、监听系统广播

2、监听锁屏广播:使activity始终保持前台

3、Service设置Start_Sticky

4、Fork 机制创建Native进程,

5、系统通知管理权限

6、1像素保活

7、悬浮窗


有效方案

1、提高优先级:

1)startForeground(110, notification);

2) 降低网络频率,网络消耗

3) 降低内存消耗,只留最需要的东西,精简再精简

4)Service设置优先级android:priority = “1000” 1000是最高值


2、循环播放无声音乐

3、锁住应用

4、解锁屏幕,亮屏。

5、改包名

6、申请加入白名单

7、忽略电池优化DOZE

8、APP保活权限设置


部分有效方案

1、JobScheduler是Android5.0 开始引入了一个新系统服务。它将后台任务调度直接交给系统服务(JobSchedulerSevice)管理。但其有效性受限于安卓版本:5.0、5.1、6.0版本保活非常有效,7.0版本有一定影响,可以通过在电源管理中给APP授权来提升安卓应用的保活性能。


2、账号同步机制,7.0版本以后无效

3、推送,低版本有效

4、华为部分手机按Back键改为Home,可以有效防止进程被杀。



何文昌,新网银行前端负责人

《前端不只是“前端” 》    

 

何文昌指出,银行前端相比起其他行业的前端,更加注重安全性,即操作安全、代码安全、传输安全、存储安全。基于上述特性,何文昌为大家讲述了新网银行前端演进过程和新网银行的前端生态。


新网银行前端演进过程

新网银行从2016年12月开业至今,前端进行了三次架构升级:从基于vue1.0的多页应用的原始版本演变至采用spa以及分块加载的vue2.0升级版本到现在的模块性开发、自由组合的前端微服务化版本。


新网银行的前端生态

新网银行的前端生态具有四大特点:前端监控、私有仓库、Mock管理、前端规范。何文昌着重分析了前端监控这一特性。


前端监控的目的在于保证业务及生产环境的稳定运行、优化应用性能并提升用户体验。前端监控的重点在采集端和统计端。在采集端,前端人员可以进行“页面所有错误信息上报(js,css,ajax)” 、 “页面级的性能上报(多页面 || 单页面应用程序通用)”、“页面AJAX性能上报”以及“页面所有加载资源性能上报(图片,js,css)”。然而,采集端的难点在于前端框架众多、小程序等新技术层出不穷。如何实现采集端对不同技术框架信息的采集是我们需要深入的地方。采集端,我们可以借助前端性能监控API “Performance”及框架提供的一些捕获方法来实现不同信息的采集。


在统计端,我们需要对采集端采集的数据进行加工,实现“每个用户每次访问的行为轨迹”、“每天的PV、UV、IP、跳出率、用户访问平均深度”、“实时及每天的页面访问及跳出页面排行”和“错误信息及错误率”等数据的可视化。统计端的难点在于针对大量数据的并发,开发者在了解服务端开发的同时还需要知道如何解决大数据并发的问题,如分布式数据库、消息队列,缓存、定时任务等。为此,我们创建了新网服务端的架构:用户端的请求或者是采集端的请求进来以后会到我们服务端集群上,服务端集群处理后会把相关数据放在消息队列集群,消费者会对消息队列中的消息进行消费加工,加工完了以后入库,数据库方面可以采用分布式数据库,方便随时对数据库横向扩张。



成都站已圆满结束。本周六,个推TechDay全国巡回沙龙将在杭州举办。

活动时间:2019年9月7日 13:30-18:00

活动地点:浙江省杭州市余杭区梦想小镇21号楼

活动主题:前端开发展望,创新技术落地