转载请注明出处!!!

很多app(如淘宝、美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页。就像下面的效果。这个功能现在很常见,那么它是如何实现的呢?

思路
1.广告页加载思路。广告页的内容要实时显示,在无网络状态或者网速缓慢的情况下不能延迟加载,或者等到首页出现了再加载广告页。所以设置广告页时需要设置一个时间进行网络请求,在时间结束后如果没有请求到数据就直接到首页,请求到则加载数据。
2.广告页的显示方法有两种。
一种是直接新建一个自定义view添加到self.window上。

[self.window addSubview:adView];

另一种方法是新建一个广告controller。通过设置rootviewcontroller来更换界面。

[[UIApplication sharedApplication].delegate window].rootViewController = [[UINavigationController alloc] initWithRootViewController:[HomeViewController new]];

3.实现例子
只说不写例子没有直观的感受。

我写的Demo链接:ADLauncher.zip

新版demo:FinalADLauncher.zip 修改点击活动进行跳转(两种方法)。

补充:在返回的图片为gif时,会出现第二次进入后动态图不播放的情况。可以做以下修改。(在销毁的时候清除sd的缓存。)在只有静态图的情况下不需要。

下面的是两个写的比较不错的三方库。
https://github.com/Running2snail/LLFullScreenAd(只能显示图片)
https://github.com/CoderZhuXH/XHLaunchAd(图片、视频)

4.广告页的显示代码可以放在AppDeleate中,也可以放在首页的控制器中。如果代码是在AppDelegate中,可以通过发送通知的方式,让首页push到广告详情页。直接Push的方法由于水平有限未实现,暂时未想到。

注意点
1.广告页面的底部和启动图的底部一般都是相同的,给我们的感觉就是启动图加载完之后把广告图放在了启动图上,而且不能有偏差,比如淘宝启动画面。美工在制作广告图的时候要注意这点。
2.研究了一下淘宝的广告显示机制,删除淘宝之后重新打开不会显示广告图片,第二次打开才会显示。美团的广告图有时候显示有时候不显示,所以后台在开发广告api的时候可以增加一个字段来判断是否启用广告

iOS设置启动页后的广告页的更多相关文章

  1. LaunchImage命名与AppIcon命名(ios设置 启动图片和AppIcon图片)

    LaunchImage AppIcon 分别拖拉至Images.scassets  对应的LaunchImage和AppIcon就可以设置 启动图片和AppIcon图片

  2. iOS 设置启动页面 时间

    [NSThread sleepForTimeInterval:3.0];  时间越大  ,启动页面停留的时间越长 iOS 8之后,,创建项目自带的有  LaunchScreen.xib  可直接用

  3. iOS 启动页后广告Demo

    重点! 对于启动页后的广告,相信大家也都看到过很多很多的,比如我自己常看到的有 QQ音乐,爱奇艺了.你点击了APP,它会启动就会随之启动..其实这些APP的启动页是没有消失的,你去认真的观察一下!所以 ...

  4. iOS-APP启动页加载广告

    概述 加载广告页, 展现跳过按钮实现倒计时功能, 并判断广告页面是否更新. 详细 代码下载:http://www.demodashi.com/demo/10698.html 目前市场上很多APP(如淘 ...

  5. iOS APP启动广告实现方式 与 APP唤端调用

    APP启动广告功能实现要从2个方面思考 一是UI方案,怎样处理广告页与主页之间的切换方式. 二是广告页展示时机,是使用后台实时广告数据还是使用本地缓存广告数据.后台数据方式获取广告最新但是用户要等待后 ...

  6. IOS程序启动原理

    1.Info.plist 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 常见属性(红色 ...

  7. iOS swift 启动页加载广告(图片广告+视频广告)

    一般app在启动的时候都会有广告页,广告页用来加载自己的或者第三方的广告,广告的展示形式也多种多样,最近在看swift相关的东西,这里将提供支持加载图片广告和视频广告的解决方案 思路: 我们知道在加载 ...

  8. iOS LaunchScreen设置启动图片,启动页停留时间

    [新建的iOS 项目启动画面默认为LaunchScreen.xib] 如果想实现一张图片作为启动页,如下图

  9. iOS LaunchScreen设置启动图片 启动页停留时间

    问题:想实现类似微信启动页一样 设置为一个整页面的图片 问题二:iOS启动页面怎样设置多停留一会 新建的iOS 项目启动画面默觉得LaunchScreen.xib 假设想实现一张图片作为启动页,例如以 ...

  10. iOS仿写有妖气漫画、视频捕获框架、启动页广告页demo、多种动画效果等源码

    iOS精选源码 以tableview的section为整体添加阴影效果/ta'b'le'vi'e'w顶部悬浮.... 一个可以轻松应用自定义过滤器的视频捕获框架. 基于UITableView的组件,旨 ...

随机推荐

  1. Ubuntu系统安装部署Pandawiki智能知识库

    一.系统环境准备 bash # 更新系统 sudo apt update && sudo apt upgrade -y sudo apt install -y git python3- ...

  2. C#开发的Panel滚动分页控件(滑动版) - 开源研究系列文章

    前些时候发布了一个Panel控件分页滚动控件的源码( https://www.cnblogs.com/lzhdim/p/18866367 ),不过那个的页面切换的时候是直接切换控件的高度或水平度的,体 ...

  3. SQL Server中使用临时表进行数据备份与恢复

    在日常的数据库管理中,我们经常需要对数据进行备份和恢复操作.SQL Server提供了多种工具和命令来帮助我们完成这些任务.本文将介绍一种简单的方法,即使用临时表来备份特定记录,清空表,然后将数据恢复 ...

  4. layui的layer.open弹出层高度自适应的解决

    https://blog.csdn.net/yzw675628706/article/details/115347180 其他没有试,这个是对我目前的使用有效 layui.layer.open({   ...

  5. 在Windows和Linux终端下使用代理的方式

    背景 在快乐上网的时候,网页会经过代理,但是有些在终端运行的程序不一定会经过代理,比如用git clone github仓库的时候,或者curl 下载github release的时候,如果不走代理, ...

  6. 揭开SQL Server和PostgreSQL填充因子的神秘面纱

    揭开SQL Server和PostgreSQL填充因子的神秘面纱 理解SQL Server和PostgreSQL中的填充因子 在调优数据库性能时,一些小设置往往能带来显著的差异.填充因子就是其中一个经 ...

  7. 复杂文件格式如何通过ETL工具一步处理

    企业在数字化转型过程中,会面临数据孤岛及格式异构的双重挑战.传统方法处理JSON.XML.CSV等数十种混合格式时,常受限于解析效率低.转换逻辑复杂及数据质量参差等问题.而ETL工具凭借系统化数据治理 ...

  8. RestCloud ETL社区 八月精选问答

  9. 洛谷P10453 七夕祭题解

    七夕祭 P10453 (前缀和) P10453 七夕祭 - 洛谷 矩形的祭典会场由 N 排 M 列共计 \(N \times M\) 个摊点组成. 虽然摊点种类繁多,不过 cl 只对其中的一部分摊点感 ...

  10. mysql数据库优化--九五小庞