美文网首页移动设计产品流程产品经理
典型的App启动流程是怎样的?

典型的App启动流程是怎样的?

作者: 菜哥 | 来源:发表于2017-06-05 11:53 被阅读547次

    为什么要设计启动流程

    App的启动流程是每一个移动应用都需要精心设计的,一个优秀的启动流程可以最大程度降低用户的“等待感”,同时还能第一时间抓住用户G点,使其有兴趣继续使用。

    一个典型的启动流程是如何设计的

    移动应用发展到今天,启动流程其实已经是一个标准件了。不论什么类型的应用:电商、社交或是行业应用它们的启动流程都是类似的,正因为如此我们才可以整理一个典型的启动流程。我们通过下面三个步骤来逐步呈现。

    第一步:启动过程中都有哪些实体元素?

    我们随便下载几个App,打开它们,基本都可以知道这一过程中涉及到了哪些元素:

    启动页:打开应用立即呈现在用户眼前的图片就是启动页,它一般是应用的 logo 和 slogan

    引导页:如果我们是第一次打开应用,一般在启动页之后会有几张可以左右切换的图片,它们一般会告诉用户这个产品是什么、做什么用、和别人有什么区别等,我们叫它引导页

    广告页:应用启动后,基于运营/业务的需求,可以在启动页之后增加一页用于宣传的页面,可以加入链接跳转到应用内部某个落地页面。

    首页:应用完全启动后,呈现给用户的第一个页面,用户到了这个页面才可以正式体验应用的相关功能。

    应用启动页面

    这就是典型App启动过程中用户可能看到的页面元素

    第二步:启动过程中可能存在哪些变化因素?

    在我们知道应用启动过程中可能看到的页面元素之后,现在应该需要考虑的就是:用户在这个过程中可能遇到什么情况,也就是我们常说的使用场景。

    综合用户使用场景,可能存在如下两种情况:

    网络因素:即无网络、2G、3G、4G或者WiFi

    启动因素:首次启动或者不是首次启动

    第三步:如何将实体和变化因素串起来?

    首先,我们先抛开网络因素看启动因素,如果是应用首次启动,应该是如何呢?

    首次打开应用流程 1

    我们可以看到,一个典型的App首次启动的流程是:先看到启动页,然后新手引导,最后进入应用的首页

    接下来,我们把网络因素考虑进来,那么网络因素应该放在哪儿,即:你希望在什么节点判断用户当前所处的网络环境?有三个地方:

    1. 一打开就判断

    2. 启动页结束后

    3. 引导页结束后

    如果是第一种情况,那么如果用户没有网络一打开App就会被弹窗警告提示,应用的启动流程会因此中断,这时候你的App还要不要启动?用户会不会想,我一打开就蹦出这么个玩意(虽然知道是没有网络)? 那第二种情况和第一种情况也是一样的

    所以,考虑到启动流程的流畅性,我们应该把网络的判断放到引导页之后,也就是进入首页时,如下图所示:

    首次打开应用流程 2

    这就是一个APP典型的,用户首次打开时,系统的展示流程;那么好了,这时候我们再把另外一个因素考虑进来:如果用户不是第一次打开应用呢,这个流程该如何进行?我们通过以下三个问题来释疑:

    第一个问题,是不是第一次有什么区别?

    如果是第一次,App需要展示引导页;如果不是,则不需要展示,同时可能需要加入广告页。

    第二个问题,为什么要特别针对不是第一次设计流程?

    从第一个问题,我们可以看到,如果不是第一次,App有可能需要加入广告页;而广告页和引导页是有本质不同的,引导页如果用户不更新版本使用一次后即不会再使用,而广告页即使不更新版本,仍然需要展示。那既然引导页是和版本挂钩的,所以引导页一般是直接打包在版本更新的资源文件里面,而广告页与版本无关所以需要后台手动配置,然后应用下载之后进行展示,说了这么多,其实可以用就一句话形象说明:引导页是写死的,广告页是动态的。写死和动态这两个区别想必大家都心知肚明,那么为它专门设计一个流程也就顺理成章了。

    那应该如何设计?

    既然广告页是后台动态配置的,那么App应该需要从服务器获取并下载下来才行,那么问题来了,这广告页要什么时候下载呢?是用户打开App的时候去下载吗?

    当然不是了,机智的互联网人早想好办法,既然不是第一次使用App,那么完全可以在用户使用的过程中默默的把广告页下载到本地,当用户下一次打开App的时候,直接读取缓存数据就行了

    第三个问题,如果确实需要,那么放在什么时候判断是不是第一次?

    非首次打开应用流程 1

    把引导页去掉之后,这时候其实只有两个地方,一个是在启动页之前,一个是在启动页之后,如果在启动页之前,画风是这样的

    放在启动页之前 的流程 放在启动页之后 的流程

    对比这两种流程,我想,大家都应该知道哪种更好了吧?是的,当然是第二种啦~

    解决这三个问题之后,我们就可以着手处理不是第一次使用APP的启动流程了,也就是处理上图中的“其他流程”。从第二个问题,我们知道了,广告页是用户在使用过程中自发下载的,那么系统判断完不是第一次打开后,就需要看本地是否缓存了广告图,如果有则展示,如果没有则不展示。

    非首次启动加载本地缓存广告页

    到了这一步,我们需要思考,现在广告图有了,那是不是就一定展示呢?需要考虑网络环境吗?我这里列出当前用户可能处在的网络环境:无/2G/3G/4G/WiFi。我们一一分析,如果是没有网络,还要给用户看广告吗?如果2G环境,需要吗?以此类推...

    当你捋清楚这些关系之后,就能够得到下面这张图,当然这是根据应用本身的业务需求而定,并不适用所有产品,这里仅考虑通用的情况:

    典型的应用启动流程

    我们从图中可以看到,如果是2G的网络,考虑到可能页面加载时间较长(电商的广告落地页一般是专题H5活动页面,数据量很大),会导致应用启动中断,所以直接跳过了广告页进入首页,只有当用户是处于:3G/4G/WiFi 网络环境下,才展示给用户广告,这样可以确保用户能够较快访问广告落地页面,产生的广告效果也会更好。

    应用正式启动后,还有一些非常重要的工作:例如,校验版本、授权、加载广告页,我们把这些完善后,就是一个完整的应用启动流程了:

    典型的应用启动流程

    总的来说

    对照上图,我们再把这整个流程完整的描述出来:

    对于第一次启动的情况

    1. 首先打开启动页,判断是否第一次启动,然后打开引导页这时候才看当前用户所处的网络环境,如果没有网络,则进入首页,但是此时的首页仅有框架没有数据且需要一个没有网络的提示;如果有网络,则展示最新的首页。

    对于不是第一次启动的情况:

    1. 也是打开启动页,判断是否第一次启动,然后需要判断当前客户端有没有缓存的广告页,如果没有,则直接跳过进入首页,也需要判断网络情况,这时候与第一次打开没有网络不同的是,不是第一次打开但是没有网络,可以加载缓存数据,也就是说,首页看到的不只是框架还有数据,只不过是之前的缓存数据,但是也需要提示没有网络;

    2. 如果有广告页,需要根据当前用户所处的网络状况决定是否展示,如果是没有网络/2G网络,则不展示广告图,直接进入缓存首页;

    3. 如果是3G/4G/WiFi 网络环境,那么展示此广告图,默认展示3s,用户可以跳过;

    4. 进入首页后,需要校验服务端是否有新版本,如果有需要提示用户进行版本更新;同时还需要不定期查看服务端是否有新的广告页,如果有,则后台自动下载到客户端本地,以供下次使用;如果是 iOS 版第一次启动,还需要进行必要的授权,例如位置、网络、推送等,关于授权的内容,将在下一篇文章中进行更新,敬请期待。

    相关文章

      网友评论

      • Axure原型设计:是否在启动页之前判断是不是第一次启动,在启动页之前的可以解释为没有判断,后面的流程是一样的
      • 焦米锅巴:其实一开始Apple设计App启动页的目的是为了减少用户从打开到程序正常使用的焦虑感,但是国内为了商情需要,逐渐出现了广告页,slogan,甚至还有等待倒计时...现在再看IOS极大部分app其实都已经取消引导页了
        Axure原型设计:重大版本的更新还是需要引导页的,引导页很多时候是新版本的宣传制作,让用户了解版本的新功能,但是页面的数量应该简化,控制在3页以内。

      本文标题:典型的App启动流程是怎样的?

      本文链接:https://www.haomeiwen.com/subject/isavfxtx.html