iOS启动页广告XHLaunchAd
LizetteCava
8年前
<p><img src="https://simg.open-open.com/show/f481799dd99f81271abb8190fdf62d3a.png"></p> <p>XHlaunchAd.png</p> <h3><strong>一.前言</strong>:</h3> <p>1.现在越来越多的App在启动时插入广告,因平时项目中常用到,所以特意写了一个库,他叫XHLaunchAd.</p> <p>2.Github地址: <a href="/misc/goto?guid=4959677463793170657" rel="nofollow,noindex">https://github.com/CoderZhuXH/XHLaunchAd</a></p> <p>3.导入该库仅用几行简单的代码就能实现启动页静态/动态广告功能.</p> <p>4.该项目发布2个月以来,已经收到 300 多个 star ,目前已经更新到V2.1.3版本,现分享给大家.</p> <pre> <code class="language-objectivec">-> XHLaunchAd (2.1.3) 几行代码接入启动页广告,自带图片下载、缓存相关功能,无任何第三方依赖,支持静态/动态、全屏/半屏广告, 支持LaunchImage或者LaunchScreen. pod 'XHLaunchAd', '~> 2.1.3' - Homepage: https://github.com/CoderZhuXH/XHLaunchAd - Source: https://github.com/CoderZhuXH/XHLaunchAd.git - Versions: 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.1, 2.0, 1.2, 1.1.4, 1.1.3, 1.1.2, 1.1, 1.0 [master repo]</code></pre> <h3><strong>二.效果:</strong></h3> <p><img src="https://simg.open-open.com/show/73d3beaa3d8c5ccd6c50100abfce285c.gif"></p> <p>ScreenShot01.gif</p> <p><img src="https://simg.open-open.com/show/c76d2b2f629ec6cb44bd79165ce37b52.gif"></p> <p>ScreenShot02.gif</p> <h3><strong>三.XHLalunchAd特性:</strong></h3> <ul> <li>1.支持全屏/半屏广告.</li> <li>2.支持静态/动态广告.</li> <li>3.支持广告点击事件.</li> <li>4.自带图片下载,缓存功能.</li> <li>5.无依赖其他第三方框架.</li> <li>6.支持未检测到广告数据,设置启动页停留时间.</li> <li>7.支持启动页为LaunchImage或者LaunchScreen.storyboard.</li> </ul> <h3><strong>四.API</strong>:</h3> <ul> <li>主要提供两个API,调用非常简单</li> <li>1.初始化方法 <pre> <code class="language-objectivec">/** * 显示启动广告 * * @param frame 广告frame * @param setAdImage 设置AdImage回调 * @param showFinish 广告显示完成回调 */ +(void)showWithAdFrame:(CGRect)frame setAdImage:(setAdImageBlock)setAdImage showFinish:(showFinishBlock)showFinish;</code></pre> </li> <li>2.数据源方法 <pre> <code class="language-objectivec">/** * 设置广告数据 * * @param imageUrl 图片url * @param duration 广告停留时间 * @param skipType 跳过按钮类型 * @param options 图片缓存机制 * @param completedBlock 异步加载完图片回调 * @param click 广告点击事件回调 */ -(void)setImageUrl:(NSString*)imageUrl duration:(NSInteger)duration skipType:(SkipType)skipType options:(XHWebImageOptions)options completed:(XHWebImageCompletionBlock)completedBlock click:(clickBlock)click;</code></pre> </li> </ul> <h2>五.调用:</h2> <ul> <li> <p>在AppDelegate中导入XHLaunchAd.h 头文件,在didFinishLaunchingWithOptions:中调用初始化方法和数据源方法即可,如下:</p> <pre> <code class="language-objectivec">//1.->显示启动广告(初始化方法) [XHLaunchAd showWithAdFrame:广告frame大小 setAdImage:^(XHLaunchAd *launchAd) { //未检测到广告数据,启动页停留时间,默认3,(设置4即表示:启动页显示了4s,还未检测到广告数据,就自动进入window根控制器) //launchAd.noDataDuration = 4; //2.->设置广告数据(数据源方法) [launchAd setImageUrl:广告图片URL链接 duration:停留时间 skipType:跳过按钮类型 options:缓存机制 completed:^(UIImage *image, NSURL *url) { //异步加载图片完成回调,若需根据图片尺寸,刷新广告frame,可在这里操作 //launchAd.adFrame = ...; } click:^{ //广告点击事件 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:广告点击跳转链接]]; }]; } showFinish:^{ //广告展示完成回调,设置window根控制器 self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[[UIViewController alloc] init]]; }];</code></pre> </li> </ul> <h3><strong>六小结</strong>:</h3> <ul> <li>XHLaunchAd经过多个版本的迭代,现在已经很稳定,后期将会继续维护更新它.</li> <li>再次贴下XHLaunchAd Github地址: <a href="/misc/goto?guid=4959677463793170657" rel="nofollow,noindex">https://github.com/CoderZhuXH/XHLaunchAd</a></li> </ul> <p> </p> <p>来自:http://www.jianshu.com/p/4a0cb72c3d59</p> <p> </p>