zoukankan      html  css  js  c++  java
  • iOS设置启动页后的广告页

    转载请注明出处!!!

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

    1070332-8f80331f71b5b284.gif

    思路
    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的时候可以增加一个字段来判断是否启用广告

  • 相关阅读:
    娓娓道来c指针 (4)解析c的声明语句
    Snail—UI学习之UITextField
    E
    Qt录音机
    著名的英文搜索引擎
    java中Map,List与Set的差别
    Android图片处理:识别图像方向并显示
    Unity3D中组件事件函数的运行顺序
    Android屏幕density, dip等相关概念总结
    Codeforces Round #257 (Div. 2)
  • 原文地址:https://www.cnblogs.com/weicyNo-1/p/7387749.html
Copyright © 2011-2022 走看看