最近我负责了一个网络请求超时的反馈设计,借此机会我也顺便通过此文记录了一下整个思考过程,整理一下自己的思路。

当我们在使用APP的时候,偶尔会碰到网络状态不好的情况。那么对于网络状态不好的情况有哪些分类呢?和开发大致的讨论了一下主要有下面几种:

1、用户所处环境网络信号不好(用户向服务器请求超时)

2、服务器没有正常接收请求或没有回复

3、手机停机

4、手机没开wifi或则流量等

这几种状态,在没有网络时,对于开发而言可能在处理相关情况的时候,判定条件会有所不同,但对于用户而言,其实也就是一种情况——没网。

如果恰好用户正在买东西,都要下单了,结果网络中断了一会会。这时候一个良好的反馈设计将发挥良好的作用。比如像没怎么考虑这方面设计的APP,可能直接反馈一个空白页,用户只能退回到上一步,如图:

但是如果一个设计良好的APP将已下面的方式展示:

对比一下,下面一种设计可以让用户在当前页面进行重试刷新,避免了用户重复操作之前的步骤。

而且如果再加上一个好的设计,可以起到彩蛋的作用,就像挺多APP在设计下拉刷新时的彩蛋,给用户带来一些惊喜。想象一下用户本可能因为网络的问题十分郁闷,弹出来一个俏皮的页面是能够缓解用户的不满的情绪。

所以思考了以上,我设计了如下这个界面(产品是关于汽车后市场的):

通过一句诙谐的话,不仅贴合我们产品本身(关于车的),又能比较好的描述了网络不好这个情况。

之后在与开发PK的时候,我提到一点能否让所有的网络连接失败的情况都跳转这个页面,得到的答复是这样做容易造成多次请求,导致生成过多的请求超时页面,引起APP崩溃。更好的解决方式是将每一个需要请求服务器获取数据的界面都进行修改,单独显示。为了保证开发的进度,我暂时放弃了一部分的分支页面的修改,仅让开发先改主要流程的页面。

当然做到这一步其实还是思考的比较简单的,上面那种设计只是更加适合于要跳转其他页面的情况,还有一种是当前页面请求服务器,比如下面这种情况:

如果点击保存,网络请求超时,这时候弹出另一个页面就遮挡住了之前的信息,对于用户是一个不好的体验,这种情况下更适合采用上图返还一个toast提示,然后用户可以很快捷高效的进行再一次的保存操作。

当然这些仅仅是针对于我们这个电商产品,不同的产品,面对的也是不同的情况。

比如对于新闻类的、咨询类的,这类APP一般都会有缓存,比如缓存好一个列表页,下一次进入APP即使没有网络,也不会碰到什么内容都没有的情况而是加载之前缓存的列表。以及之前阅读的文章也会缓存下来,下次再阅读不需要再次请求服务器。再举一个例子就是我们大家都很熟悉的微信朋友圈,没有网络的情况下也是可以查看之前加载过的内容。如果特意去查看一下微信占用的空间,你会发现缓存占了很大的一块,这里面就包括朋友圈内曾经加载过的内容以及图片等。这类产品在出现网络请求超时的情况就不需要跳转另一个页面,多此一举还影响用户体验。而且说白了像跳转另一个页面这种处理方式是一种简单粗暴的方法。这里可以顺便引用一句话叫less is more,做的越少动静越小,对用户的体验影响越小越好。这样对于用户也是一种心理暗示——这都不是事,不要慌。所以最好的做法是能让用户在出现异常情况下可以很轻易的再次重试,使得用户能够淡化对于异常情况的敏感以及反应过激。

app显示服务器连接超时,APP网络请求超时反馈设计与思考相关推荐

  1. 有信号但是无法连接到移动网络连接服务器,手机打电话显示无法连接到移动网络怎么回事?...

    手机打电话显示无法连接到移动网络怎么回事?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 手机打电话显示无法连接到移动网 ...

  2. 电脑连wif显示无法连接服务器,电脑连热点显示无法连接到这个网络

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 电脑连热点显示无法连接到这个网络的解决方法: 1.电脑忘记了连接的WiFi,关闭电脑WiFi,再重新打开,搜索,连接. 2.如果不 ...

  3. 计算机网络中请求超时是什么意思,网络请求超时怎么解决

    我们知道不少朋友在上网的时候,会遇到网络请求超时的情况,那造成网络请求超时的原因是什么呢?网络请求超时就是在程序默认的等待时间内没有得到服务器的响应.跟着小编一起来看看请求超时解决方法. 网络请求超时 ...

  4. HttpInterceptor 拦截器 - 网络请求超时与重试的简单实现

    ... 拦截器在Angular项目中其实有着十分重要的地位,拦截器可以统一对 HTTP 请求进行拦截处理,我们可以在每个请求体或者响应后对应的流添加一系列动作或者处理数据,再返回给使用者调用. 每个 ...

  5. 电脑连接不上手机热点-始终显示无法连接到该网络的解决办法(亲测管用)

    文章目录 亲测管用 1.先排除是手机的问题(记得打开数据连接中的手机热点功能) 2.电脑的网络配置问题. 2.1 按下WIN+X(或右键点击开始按钮),选择"命令提示符(管理员) 2.2在命 ...

  6. 电脑连接手机热点,显示无法连接到这个网络

    问题:此无线局域网的其他设备都可以连接,但本机连接时,显示无法连接到这个网络 解决方法:win+R    shift+ctrl+enter 以管理员方式打开cmd 键入netsh winsock re ...

  7. 网易邮箱大师桌面版显示“服务器连接失败,请稍后重试”的一个解决办法

    网易邮箱大师桌面版显示"服务器连接失败,请稍后重试",重启也没有,连续两天都是这样. 尝试浏览器搜索到各种方法都不行,但是手机端的可以正常使用. 方法: 更新网易邮箱到最新版本. ...

  8. 简单快速处理网络请求超时的方法

    最近在调试联网操作的时候碰到网络请求超时的问题,以下是简单快速处理网络超时的方法: 使用android提供的工具类AsyncTask类,此类提供了一个AsyncTask.execute().get(t ...

  9. 华为服务app显示无法连接服务器,App提示连接不到服务器

    App提示连接不到服务器 内容精选 换一换 在移动设备上正确安装APP后,就可以通过APP登录NetEco服务器. 通过Web浏览器登录资源,会话连接断开,提示网络连接异常,连接已断开,请重试(Cod ...

最新文章

  1. matlab中非0即1函数,matlab 中统计一个数组中非零元素个素的函数名称是什么?
  2. STM32 电机教程 27 - ST MCLIB实战之 PID参数调节
  3. 光流 | 光流交流群
  4. restful解决什么问题_当您陷入RESTful,WordPress和一个困难的地方时,如何解决CMS问题...
  5. Python paramiko模块基本使用(一)
  6. SimpleDateFormat格式化
  7. Activity的四种启动模式区别
  8. 阿里云服务器之建立个人博客
  9. 5G及移动边缘计算(MEC)
  10. ip pim spare 源树 和 共享树_如何实现IP组播,减少摄像头和网络的负载?
  11. javascript自定义浏览器右键菜单
  12. 安卓手机root是什么意思
  13. mysql中美元符号_Mybatis中#号和美元符号$符号的区别
  14. 安卓开发——做一个能定时唤起其他APP的闹钟程序
  15. Kotlin第二章:kotlin基础
  16. 【不可思议的Word2Vec】 2.训练好的模型
  17. Excel转Html(一)-样式转化-CSS-border-style-属性
  18. Our replica set configuration is invalid or does not include us
  19. linux 磁盘压测工具 fps,荣耀MagicBook Pro锐龙版性能评测,可媲美MX150 2GB核心显卡...
  20. MYSQL cmd命令行大全

热门文章

  1. for master
  2. Bringing down service while still waiting for start foreground
  3. Swaggy教你用python实现NBA数据统计的爬取
  4. JUnit4 与 JUnit 5 常用注解对比
  5. 第五节课·基于图像相似度比较分镜头
  6. 拉链表(SCD2)的操作
  7. linux基础[1](重置root密码)
  8. Linux应用编程之perror函数
  9. css transparent张鑫旭,【灵感杂谈】张鑫旭和他的《CSS世界》
  10. 六、NAL Unit解析