首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APP开屏图片展示策略

开屏策略

1.背景

先说一下之前的开屏策略: APP第一次冷启动默认加载一张默认的开屏图片,与此同时异步去下载要展示的图片内容,下载完成后进行磁盘缓存,APP第二次冷启动时检测到有磁盘缓存,加载缓存图片。

此策略存在的弊端:我们需要在特殊的日期内显示特定的开屏图片,但当前的机制下,会导致特殊节日已经过了,才显示此开屏图片,没有达到预期的效果。且在后续的品牌宣传规划中,开屏模块是一个很重要的宣传阵地,或许会承载宣传任务,因此须对此处显示规则进行调整,以期最大限度保证在该特定图片可在指定日期内显示。

2.策略

图1是主要流程,主要包括数据展示、数据请求、数据处理。 下面讲解一下具体思路:

我们把开屏页面看作是主题,分为生日特权主题、日主题、月主题、默认主题(从前到后优先级依次降低)。服务端提前配置好要展示的主题,APP每次启动先展示符合要求的主题并异步下载相应的主题缓存到本地,

2.1 主题展示逻辑:

图2主要展示的是根据主题优先级先判断用户是否是生日主题。

图3主要展示的是非生日主题情况下其他主题的处理逻辑。

具体逻辑描述:

APP冷启动判断用户是否已登录

已登录状态:

查询是用户否是生日期间,是则展示生日特权主题;不是则判断本地是否有缓存日主题,有则取出符合当前时间段的日主题并展示,没有则继续判断是否有月主题,有则取出符合当前时间段的月主题并展示,否则显示默认主题。

未登录状态:

判断本地是否有缓存日主题,有则取出符合当前时间段的日主题并展示,没有则继续判断是否有月主题,有则取出符合当前时间段的月主题并展示,否则显示默认主题。

备注:关于当前时间获取:如果APP第一次安装一般都会有引导页,即第一次安装打开APP不会出现开屏页面,此时取服务器时间与系统时间作差值,差值存本地(每次启动APP都会更新该差值),再次冷启动APP时,服务器时间 = 时间差 + 手机系统时间。如果用户在此期间把手机时间给改了,用户第一次冷启动APP时,显示会有错误,再次冷启动时就正常了,无伤大雅。

2.2 数据结构:

json数据结构如下,日主题和月主题的时间先后顺序,服务端给定。

2.3 数据处理:

图4主要展示了数据处理相关逻辑:

1、本地缓存数据删除:取本地缓存主题数据,通过launchId唯一标识删除服务器数据不包含的本地缓存主题。

2、服务器数据去重:去掉本地已缓存的数据。

3、服务器数据存储:每次只存储一个月主题以及两个日主题数据(具体存储个数根据业务需要调整)。

三、功能扩展

数据结构中可添加跳转连接,即广告跳转逻辑

四、意见收集

如果您有更好的改进策略请您多多指教

作者:RobinZhao

链接:https://www.jianshu.com/p/fe88f534e079

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180816B0E9NU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券