H5工作背景

最新在做公司的项目,因为是定制化地图开发,需求不断变更,并且会在多种场景使用(Web,Android,IOS),需求和成本问题,H5更加适合这3端的页面嵌入,开发成本较低,需求变动大的情况下,项目也不会烂掉。

H5初析和认识

H5全称是Html5,这是不是一项技术,而是一个标准,Html5就是Html的第5个版本,哈哈哈,具体的可以自己百度,以下HTML5我简称为H5。为什么一开始说成本低呢,因为H5是web网页开发,项目需求变更后的应用页,访问web地址不变,Android,IOS端便会自动更新(当然也有缓存存在的情况,清理缓存后就会是最新的,当然也可以控制不使用缓存,看自己项目需求)。BS架构有BS架构的优势,Android/IOS里嵌入的H5页,就是一个BS架构的页面,因为他得运行机制就类似浏览器打开页面一般。H5相比原生APP,更加灵活的变动,页面功能变更不需要发布新版本包,上线应用商店,作为用户是不是很苦恼软件更新的苦恼,大家都会懒一点。。。Android和IOS原生开发都是客户端开发,作为我更喜欢原生开发(因为自己是java开发出身,h5页基本和Android很少关系,其实就是前端。。),结尾再聊一下。扯了下BS和CS,要是还不懂的小伙伴可以在书本和百度中查查学习一下。

出现的问题

一个刚做完3个月的APP项目,我认为我解决了整个APP的所有BUG,毕竟维护了2个月,代码不断的排查。除了用户提出了1-2,2-1的无赖需求,我都满足并解决了。可今天用户却向产品反映,在使用我做的APP后,底部H5页出现了抽奖广告,这让我第一反应就是网页被劫持了,因为之前自己手机XX浏览器里也出现了,当时就怀疑这东西的真实性,这会又出来闹了。用户体验很不好,反应到我的时候已经怀疑我们公司的技术实力和安全性了,毕竟是政府部门,安全表面语言说的很重要。那只能认真排查原因,杜绝现象的再次发生。

分析问题

当时收到产品第一时间反馈后,我们第一时间看到了似曾相识,第二时间猜测了以下可能性:

1.DNS劫持 。
2.HTTP劫持 。
3.第三方jar包植入广告。

如果这个广告的问题会用户的每个手机都会出现,我的测试机也会出现,那样最好,我可以调试找出问题所在,可问题是,只有一个客户机出现了问题。那我有了下一步的猜想,客户用的是3G/4G/WIFI哪一个,才出现广告植入的问题。经过一系列的测试,3G/4G/WIFI都出现了 2.出现的位置都是H5页面,Android/Ios都会出现。

问题排查

我们项目中使用的第三方jar包只有百度地图和极光推送,我宁可相信他没有做捆绑,毕竟就算捆绑,那你也没办法,谁让是免费的呢。

那基本可以定位是网络劫持(DNS/HTTP劫持)

1.什么是DNS劫持:

首先DNS是什么。DNS是在作为域名(www.baidu.com)和IP地址(192.168.1.1)相互映射的一个分布式数据库,就是我们的浏览器,会将域名拿到DNS去解析出ip地址来访问,DNS劫持是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。
通俗讲,DNS帮我们指向了另一个地址,或者让我无法访问。典型的DNS劫持百度一下吧。。。

2.什么是HTTP劫持:

HTTP劫持是在使用者与其目的网络服务所建立的专用数据通道中,监视特定数据信息,提示当满足设定的条件时,就会在正常的数据流中插入精心设计的网络数据报文,目的是让用户端程序解释“错误”的数据,并以弹出新窗口的形式在使用者界面展示宣传性广告或者直接显示某网站的内容。
通俗讲,你要去别人家的首页,他会给你别人家的首页,但却在别人家首页某个部位加个小广告,还可以控制关掉。。 让人无奈。现在很多免费WIFI植入广告的手段,为了博取更多点击量。
进过分析,我们遇到的是第二种情况。

解决方案

使用HTTPS。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。就是说数据交流是加密的那么所谓的在返回数据里面加点广告就无从谈起了。而且HTTPS也能解决DNS劫持。而https的成本并不高。
其实埋的坑就是某政府的项目给我们的服务器是ip地址,外网访问,这不明摆着给别人劫持么。。

再谈谈H5和原生

原生Android很棒,我作为原生Android2年开发经验的一个小白,基本熟悉了Android原生开发的基本使用,为什么原生Android的基础上会有H5-Android开发呢,当你体验到项目因为客户的需求小变更而2周打包10个版本的时候你就明白了。我一开始也是对H5抗拒的,并且面试公司时都会问你们做什么类型的APP。但我现在看的有些透彻,H5有它的优势和给力之处,也有性能用户体验的不好之处(这是我一大不愿意做H5-Android开发的原因)。原生+H5配合更加融洽。这样既控制了成本,也控制了APP的性能体验,根据需求,在更适合的时候选择更适合的技术去解决项目需求问题,这样才是最棒的。
积少成多,全靠自觉~

Android H5页出现广告分析和解决方案相关推荐

  1. android系统性能优化(63)---Android APP 卡顿问题分析及解决方案

    Android APP 卡顿问题分析及解决方案 用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或是实现不够友好,计算绘制算法不 ...

  2. Android APP 卡顿问题分析及解决方案

    用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或是实现不够友好,计算绘制算法不够优化, 设备又不给力, 界面就会像卡住了一样, ...

  3. Android出现“XXX 无响应”分析与解决方案

    android代码完全没有错误,但是有时候会发出"应用程序×××无法响应"的异常,这让很多做android开发的人员很是郁闷,所以我这里就专门来解析一下,以及谈谈它的解决方案. a ...

  4. android H5开发出现广告,常见的移动端H5页面开发遇到的坑和解决办法

    转自:https://www.cnblogs.com/LiuJL/p/7744473.html 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什 ...

  5. HTML5页面被运营商DNS劫持问题及解决方案,app中h5页面源码的获取

    App应用的html5页面经过运营商的移动网络(非wifi网络),被强制插入广告和手机管家的多余信息,在有些场景严重干扰用户的操作,也产生在美丽的页面上加入了不协调的悬浮层.并且这个手机管家类的悬浮层 ...

  6. Android Bitmap转换WebP图片导致损坏的分析及解决方案

    Android Bitmap转换WebP图片导致损坏的分析及解决方案 参考文章: (1)Android Bitmap转换WebP图片导致损坏的分析及解决方案 (2)https://www.cnblog ...

  7. android启动页广告图,一张图搞定APP启动页广告

    之前我们产品里的启动页比较简单,就是背景色加上我们的logo.slogan等,这种形式适配起来比较容易,把元素切出来交给开发写出来就行.最近由于运营的需求,我们需要在APP启动页展示广告,广告图更新频 ...

  8. android欢迎页广告

    最近做了一个欢迎页的广告功能,分析一下需求,主要就是在程序启动是,需要展示一个广告暂定时间为三秒. 分析一下遇到的问题,首先广告图片是从服务器获取的,在请求服务器成功之后,才能出现这个广告页.处理广告 ...

  9. Android启动页白屏背景图拉伸的解决方案

    Android启动页白屏&背景图拉伸的解决方案 1.前言 2.问题点 3.代码及说明 4.注意点 1.前言 新项目的闪屏页面用到一张大图,UI那边要求那张图片填充全屏,而且不能压缩或拉伸. 然 ...

最新文章

  1. 22岁天才少女加入华为俄罗斯研究院,曾获「编程界奥赛」冠军
  2. 【MM模块】Invoice for POs with Acc Assignment 科目指派
  3. ubuntu20上安装starUML3
  4. kvm虚拟机设置万兆网卡_SR-IOV 10Gb 万兆网卡支持
  5. 【Linux系统编程】Linux进程管理
  6. oracle数据modeling分类,由浅入深 NoSQL的五种主流数据模型
  7. 音频光端机的必备要素有哪些?
  8. c 语言 pthread_create_哪种编程语言又快又省电?有人对比了27种语言
  9. java并行计算Fork和Join的使用
  10. FLASH的知识【转】
  11. C#WinForm的TextBox 按TAB键让光标按照指定顺序走
  12. 如何看待「男人四不娶(护士,幼师,银行女)这种说法?
  13. 2021年饶州中学高考成绩查询,鄱阳饶州中学2019高考成绩喜报、一本二本上线人数情况...
  14. python怎么判断实数_检查python对象是否可以解释为实数[python]
  15. $route.matched
  16. 长期睡前玩手机的人,会出现这七个问题,不只是反应迟钝!
  17. Centos7 SGE安装部署
  18. 用电脑看epub电子书用什么阅读软件好?
  19. op反馈电阻并联反馈电容
  20. The Sultan's Successors (八皇后)DFS

热门文章

  1. 九度1465:最简真分数
  2. vue-router mode两种模式
  3. 刚体运动中的坐标变换-旋转矩阵、旋转向量、欧拉角及四元数
  4. vue指令模式 添加埋点
  5. 超经典的八本电脑书籍下载
  6. fleury MATLAB,数学建模部分源码分享
  7. 浅析Margin和Padding属性
  8. Python语言中的注释方法应用
  9. PHP 获取服务器ip等详细信息
  10. 屏蔽FF新推荐弹出框