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

为什么要设计启动流程

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 版第一次启动,还需要进行必要的授权,例如位置、网络、推送等,关于授权的内容,将在下一篇文章中进行更新,敬请期待。

推荐阅读更多精彩内容