开屏样式接入说明
开屏样式的示例效果
默认SDK接入方式的开屏支持两种展现方式
- 示例(一),全屏开屏
- 示例(二),带App Logo的开屏
开屏的使用介绍
开屏的接入方式分为SDK渲染和SDK-数据接口两种方式
SDK渲染接入方式的使用
在对应的文件中#import "MMUSplashs.h" (确认对应的.a文件也已经引入工程)。
开屏的创建和创意请求示例代码
//开屏的创建和尝试 self.splashs = [[MMUSplashs alloc] initWithSlotId:@"Your slot ID" splashDelegate:self broswerDelegate:self]; //开屏请求开始 [self.splashs requestSplashAd];
MMUSplashs 的属性使用说明
//开屏对象的代理 @property (nonatomic,weak,readonly) id<MMUSplashsDelegate> delegate; //点击开屏弹出界面的行为代理 @property (nonatomic,weak,readonly) id<MMUBrowserDelegate> browserDelegate; //标签信息,SDK会将信息传给AFP服务器,一般用于辅助创意定向。 @property (nonatomic, copy) NSString *mTags; //开发者指定的view用于展示开屏广告 @property (nonatomic, weak) UIView *mViewForSplash; //开发者指定的用于展示开屏的window @property (nonatomic, weak) UIWindow *mWindowForSplash; //App Logo或者底边view @property (nonatomic, strong) UIView *mReserveView; //开屏加载时间限制 @property (nonatomic) NSInteger mLoadingWaitTime;
对开屏支持的外观,这里需要说明的是:
如果你想要创建的是全屏的开屏广告,就像示例效果(一),您需要指定 mWindowForSplash即可,示例代码:
self.splashs = [[MMUSplashs alloc] initWithSlotId:@"52830327" splashDelegate:(id<MMUSplashsDelegate>)self broswerDelegate:(id<MMUBrowserDelegate>)self]; self.splashs.mWindowForSplash = [UIApplication sharedApplication].keyWindow; [self.splashs requestSplashAd];
如果你想要创建的是带App Logo的开屏,就像示例效果(一),而且是App Logo位于底部那么您需要指定mReserveView,此视图是开发者创建的且不指定父view,示例代码:
self.splashs = [[MMUSplashs alloc] initWithSlotId:@"52830327" splashDelegate:(id<MMUSplashsDelegate>)self broswerDelegate:(id<MMUBrowserDelegate>)self]; self.splashs.mWindowForSplash = [UIApplication sharedApplication].keyWindow; [self.splashs requestSplashAd];
如果你想要创建的是带App Logo的开屏,并且希望指定开屏广告的展示的大小和位置,你可以预先创建一个视图加在window上,然后将其指定为mViewForSplash属性,注意:支持该特性的平台包括:阿里妈妈、百度
self.splashs = [[MMUSplashs alloc] initWithSlotId:@"52830327" splashDelegate:(id<MMUSplashsDelegate>)self broswerDelegate:(id<MMUBrowserDelegate>)self]; //mAdView是keyWindow上的视图 self.splashs.mViewForSplash = self.mAdView; [self.splashs requestSplashAd];
最后对于属性,mLoadingWaitTime,单位为秒,此属性允许开发者指定开屏广告从请求到展示开始的最长等待时间,超过这个时间开屏广告就不再展示。
MMUSplashsDelegate 方法说明
// 实现该方法,返回二跳viewcontroller的presentedViewController - (UIViewController *)splashAdsViewControllerForPresentingModalView; //开屏请求成功回调 - (void)splashSuccess:(id)splashAds; //展示广告失败的回调 - (void)splashAllAdFail:(id)splashAds withError:(NSError *)err; //开屏已经展示的回调 - (void)splashDidPresent:(id)splashAds; // 开屏点击的回调 - (void)splashDidClicked:(id)splashAds; //开屏已经消失的回调 - (void)splashDidDismiss:(id)splashAds;
SDK-数据接口接入方式的使用
SDK-数据接口形式的开屏需要#import “MMUNativePromoterManager.h”,并且初始化方法的layoutType参数传入MMULayoutTypeSplash表示样式是开屏,示例代码:
_mPromoterManager = [[MMUNativePromoterManager alloc] initWithSlotId:@"Your slot ID" layoutType:MMULayoutTypeSplash]; _mPromoterManager.delegate = (id<MMUNativePromoterManagerDelegate>)self; [_mPromoterManager requestPromoterDataInBackground];
关于MMUNativePromoterManager的使用,参见SDK-数据接口使用说明, 默认支持以SDK-数据接口形式创建开屏创意的平台为:阿里妈妈。开屏隐藏接口请参考平台适配和自定义平台中平台适配的相关说明。