看了《技能GET:如何使用流程图描述一个典型的APP启动功能?》,突然觉得文中的流程图设置的地方有些不合理,下面是文中的流程图:
流程描述
- 软件启动时,APP自检测是否首次启动;
- 首次启动时,进入启动页,停留2秒后进入新手引导,用户可跳过引导,或操作引导后,进入软件首页,此时做网络判断,如果无网络,则打开该APP原始的静态首页;
- 非首次启动时,若当前无网络,则进入启动页,停留2秒,此过程中调用上次使用后本地保存的缓存数据,进入APP缓存首页;
- 非首次启动时,若为2G网络状态,则进入启动页,停留2秒,在此过程中更新首页数据,并打开最新首页;
- 非首次启动时,若为3G/4G/Wifi网络,则检测是否有最新的广告数据,并请求返回本地显示广告页。广告播放时间为2-3秒,用户可选择跳过,或自动播放完毕进入首页。此过程中APP请求首页数据返回,进入最新数据首页。
在首页数据更新时,android环境下,对比本地版本与数据库版本,若版本不一致,弹出版本更新提示。
首先并没有否定这个流程,只是觉得有些地方还需要完善。软件非首次启动,立即判断网络,加载广告数据,对于一张一般一百多k的图片,必然让用户停留在白屏一段时间,影响体验,而目前主流app,无论是否有广告都会先进入启动页,从主观上减少用户等待时间;
优化后的流程
流程说明
- 软件启动时,进入启动页;
- 首次启动时,启动页停留2秒后进入新手引导,用户可跳过引导,或操作引导后,进入软件首页,此时做网络判断,如果无网络,则打开网络异常页面;
- 非首次启动时,若当前无网络,启动页停留2秒,此过程中调用上次使用后本地保存的缓存数据,进入APP缓存首页;
- 非首次启动时,若为2G网络状态,启动页停留2秒,在此过程中更新首页数据,并打开最新首页;
- 非首次启动时,若为3G/4G/Wifi网络,则检测是否有最新的广告数据,并请求返回本地显示广告页。广告播放时间为2-3秒,用户可选择跳过,或自动播放完毕进入首页。此过程中APP请求首页数据返回,进入最新数据首页。
这个流程中,用户无论是否首次启动、是否存在广告,首先进入的是启动页,避免在启动时就进行网络请求。
体验了几款app的启动流程,第一步都是先进入启动页。不过在广告图的展示方式上会有所区别,其中搜狐新闻、京东金融、要出发将广告展示和启动元素合并在了一个页面,而比如脉脉、饿了么则是启动页和广告页分开,但是这两种方式对与整个流程是没有什么影响,前者广告的显示与否对应后后者只是页面跳转与否,本质上是一样的。
优化流程(广告缓存到本地)
广告图一般会在一个时间段显示,按照上面流程,用户每次打开app都需要加载广告,浪费大量流量,增加用户等待时间,因此可以采取把图片缓存到本地的方法完善整个流程。
需要注意的是,按照这个流程,缓存到本地的数据,除了广告图,还必须带有广告图的显示时间段等数据。其次,如果运营人员更改了某个广告图的显示时间段,而本地已有缓存的情况下,缓存的广告图的显示时间段还是旧的,这个问题有点无解。
流程说明
- 软件启动时,进入启动页;
- 首次启动时,启动页停留2秒后进入新手引导,用户可跳过引导,或操作引导后,进入软件首页,此时做网络判断,如果无网络,则打开网络异常页面;同时后台请求广告数据,缓存到本地;
- 非首次启动时,若有符合显示条件的缓存广告,则进入广告页面,广告播放时间为2-3秒,用户可选择跳过,或自动播放完毕进入首页;
- 非首次启动时,无符合显示条件的缓存广告,若为2G网络状态,启动页停留2秒,并打开最新首页;
- 非首次启动时,无符合显示条件的缓存广告,若为3G/4G/Wifi网络,则检测是否有最新的广告数据,并请求返回本地显示广告页。广告播放时间为2-3秒,用户可选择跳过,或自动播放完毕进入首页。此过程中APP请求首页数据返回,进入最新数据首页。
在首页数据更新时,android环境下,对比本地版本与数据库版本,若版本不一致,弹出版本更新提示。
最后,文中出现的流程图只是初步想法,希望能有有相关经验的产品同行给出指导。
作者:6277
来源:人人都是产品经理