iOS 开屏广告接入
请注意:从V2.7版本开始,开屏广告实现方式由原来的VC实现改为View实现,如果您从老版本升级到V2.7及以上上版本,并且接入了开屏广告,请重新按照下面文档接入开屏广告。
#
加载广告并注册回调开屏广告加载是通过调用KLNSplashAd
类的静态方法loadWithRequest: completionHandler:
完成的。该方法需要两个参数,一是KLNSplashAdRequest
对象,二是加载成功或者失败的回调Block。
加载成功得到KLNSplashAd
实例后,注册 id<KLNSplashAdDelegate> delegate
属性,KLNSplashAdDelegate
协议暴露了广告曝光、广告点击、广告关闭等事件回调。
#
开屏请求参数类KLNSplashAdRequest主要接口类名 | 属性 | 说明 |
KLNSplashAdRequest | posId | 广告位置Id,初始化函数initWithPosId:必填参数 |
timeout | 开屏超时时长,单位秒,不设置默认5s。建议设置3s以上 | |
adSize | 广告请求尺寸。预留参数,目前SDK暂不支持通过设置adSize来请求相应尺寸广告。不过KLNSplashAd的adView属性会使用adSize来创建view的宽和高,不设置默认为屏幕宽和高 |
#
开屏广告类KLNSplashAd主要接口类名 | 属性&&方法 | 说明 |
KLNSplashAd | delegate | KLNSplashAdDelegate广告事件回调对象。接入方可以实现该属性获取广告曝光、点击、关闭等事件 |
viewController | 开发者传入的用来present目标页的ViewController,必传 | |
adTyp | 广告类型。 未知模版 KLNSplashAdTypeUnknown = 1, 竖版9:16开屏大图 KLNSplashAdTypeVerImage = 2001, 竖版9:16开屏视频 KLNSplashAdTypeVerVideo = 2002, | |
hideSkipButton | 是否隐藏SDK跳过按钮,如果隐藏,接入方必须自定义跳过按钮。默认为NO。请注意:请在获取adView之前设置改属性。自定义跳过按钮时,SDK内部不会有倒计时逻辑,需要接入方去实现 | |
adView | 广告view | |
promotedType | 返回广告的推广类型:2=下载广告; 3=网页推广广告【2.10.1版本新增】 | |
requestId | 广告请求ID 请注意:从V2.11版本新增该字段,接入方可以拼接requestId和creativeID唯一标记一个广告 | |
creativeID | 广告创意ID 请注意:从V2.11版本新增该字段,接入方可以拼接requestId和creativeID唯一标记一个广告 | |
+loadWithRequest:completionHandler: | 加载开屏广告方法。参数:request 开屏广告请求对象;completionHandler 广告加载结果回调(成功/失败)。请注意:回调非线程安全。 | |
-removeSplashAd | 关闭广告时,建议先调用该方法释放资源。比如停止倒计时,自定义跳过按钮时停止视频播放。请注意:在主线程调用该方法。 |
#
广告事件回调KLNSplashAdDelegate类名 | 方法名 | 说明 |
KLNSplashAdDelegate | kln_splashAdWillExpose: | 广告曝光回调。业务方可以通过实现该方法,统计曝光量(对账) |
kln_splashAdDidClick: | 广告点击回调。业务方可以通过实现该方法,统计点击量(对账) | |
kln_splashAdClosed: | 广告关闭回调。当用户点击广告、点击SDK跳过按钮,SDK倒计结束时都会回调该方法,请在此回调方法中进行广告对象的移除操作 | |
kln_splashAdClickSkip: | 当用户点击SDK跳过按钮时会触发此回调 | |
kln_splashAdDidCloseOtherController:interactionType: | 广告跳转到其他控制器时,控制器被关闭时调用。 interactionType参数:KLNInteractionType枚举类型,包括Appstore/网页/视频详情页等。 请注意:从V2.8.0版本开始支持该方法回调。 |
以下示例展示了如何加载 KLNSplashAd,具体请参照Demo
#
展示广告由于开屏广告是以view的形式给到接入方,所以接入方可以按照自己情况自定义开屏广告,比如全屏开屏广告、自定义跳过广告按钮、半屏广告+自定义App Logo,下面举例说明接入方式,具体请参见Demo。
#
全屏开屏广告#
自定义跳过广告按钮接入方可以自行实现跳过按钮的样式及相关跳转逻辑。
请注意:接入方需要在获取adView之前把KLNSplashAd对象的hideSkipButton属性设置为YES,然后自定义跳过按钮。
#
半屏开屏广告接入方可以实现半屏开屏广告,比如实现半屏开屏广告+底部logo view。
#
其他说明1)从V2.7版本开始,开屏广告实现方式由原来的VC实现改为View实现,如果您从老版本升级到V2.7及以上版本,并且接入了开屏广告,请重新按照本文档接入开屏广告。
2)目前开屏广告只支持竖屏,不支持横屏。
3)开屏广告返回的是一个view,客户端直接展示view即可。如果要在底部添加自身logo,需要缩小开屏广告的展示区域,建议开屏半屏广告的显示区域其高度大于屏幕高度的80%。
4)开屏广告请求的超时时间建议设置为3s以上,不设置默认为5s。
5)避免出现展示广告的父view/父window被提前释放或取错父view/父window的情况。