在信息流推荐业务中,用户浏览过程中涉及到上拉和下拉动作,下文解决如何实现相关操作。
问:上拉加载和下拉刷新,请求的数据有什么不同?
答:这是个概念性问题,上拉加载为刷新,下拉加载为分页。(是不是读起来感觉有点怪怪的)
这其实也是一个表达习惯或认知问题,就像左滑/右滑、南风/北风一样。(南风是从南方吹来的风,气象上把风吹来的方向确定为风的方向。)比如同事告诉你在APP上“往下滑,找到某某发来的消息”,但此时你的动作却是向上滑。另一个场景是在PC端拖动滚动条浏览长页面,当我们希望向下浏览时,是向下拖动滚动条的,但视图却是向上移动的。如果使用鼠标滚轮操作,Mac和Windows的滑动方向又是不同的,首次使用Mac的用户会感到别扭。
当你在PPT中加一个动画-设置方向时,系统会很明确的告诉你,方向是“自...”,当然箭头是指向终点的。而在日常生活中,我们的表达并不会如此严谨和理性。所以,换一种说法可能更确切些,也更有助于和同事、用户的沟通。那就是依据动作/手势命名,而不是基于起点/来源命名。
上划刷新(上划加载下方列表内容)
下拉刷新(用户向下拉,刷新feed列表)
(滑动还是划动可自行了解)
上滑加载分页
在文章某分类列表中,一个列表数据共有500+条数据,而手机屏幕一屏的展示量可能只能保证在4-6条。如果一次性请求加载500条数据,那么会导致接口响应缓慢和页面承载量过大的问题,从而降低用户体验的流畅性。所以在此时一般后端程序员处理方法是可能将30条左右的数据作为一个分页,加载到那的时候则需要用户再进行手动的上滑加载。“加载”为什么叫加载?因为它并不涉及新数据的更新,更新的都是之前的数据并在列表中展示出来。
上拉数据刷新
这里是新数据的刷新。重新请求一次接口,这里是真正的数据刷新,是重新获取接口数据,并且可能对比了上一次调取接口的数据,从而标记上次接口数据的最后一条并提示“上次观看到这里”。
在某些优秀产品中有一些友好的交互方式。
1、返回顶部按钮。此类按钮一般为悬浮按钮,大部分的产品都会采用此种方式,或像微信在朋友圈中双击上方状态栏从而快速返回顶部。
2、新消息提醒通知条。在有新数据响应时,会有通知条并带有“有XX条数据更新,点击查看”这样的字样,能帮助用户更能及时获取信息从而形成沉浸式体验。
3、记录上次浏览位置。能标记上次浏览位置的功能确实很友好,但能做到此交互细节的产品甚少。
4、样式区分已读与未读。将已读的文章内容标题置灰,这样用户能清楚的区分掉哪些是已经读过的,哪些是未读的。同时通过这点也能完美的解决上述第三点内容的对应需求。
5、单独的刷新按钮。可以是点击悬浮的刷新按钮,可以是点击tab,也可以是融合了刷新按钮的变体tab。至于切换tab是否自动刷新,或者隔多久刷新,可基于产品定位进行考量。