媒体自渲染 开屏
简介
SDK 为接入方提供了开屏广告,开屏广告建议为用户在进入 App 时展示的全屏广告。
支持的广告尺寸:
800*1200, 传入的图片尺寸比例范围在 0.61~0.75
1080*1920, 传入的图片尺寸比例范围在 0.49~0.61
注意❗️❗❗️ 开屏符合工信部整改规范,withClickableViews: 需注册所有点击的视图,详细请看Demo接入
使用说明
媒体自渲染信息流广告使用 JADNativeAd 对象调用 loadAdData 请求广告,通过设置 JADNativeAdDelegate 代理,获取广告相关素材、以及点击等回调。
创建广告位对象、请求广告
JADNativeAd
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID及广告基本配置 JADNativeAdSlot
必传参数:
字段定义 | 字段名称 | 字段类型 | 备注 |
---|---|---|---|
JADNativeAdSlot | / | / | 基本配置 |
slotID | 代码位 | NSString | 代码位ID |
使用 JADNativeAdSlot 创建广告位基本信息,使用 JADNativeAd 调用 loadAdData 请求广告
非必传参数-事件交互方式配置:
typedef NS_ENUM(NSUInteger, JADEventInteractionType) {
JADEventInteractionTypeNormal = 0, // 无特殊交互处理,采用默认的点击事件
JADEventInteractionTypeShake = 1, // 摇一摇交互
JADEventInteractionTypeSwipe = 2, // 向上滑动交互
};
@property (nonatomic, assign) JADEventInteractionType eventInteractionType;
接入示例:
// 图片size
JADNativeSize *imgSize = [[JADNativeSize alloc] init];
imgSize.width = self.widthSlider.value;
imgSize.height = self.heightSlider.value;
// 创建 adSlot 对象
JADNativeAdSlot *slot = [[JADNativeAdSlot alloc] init];
slot.slotID = @"YOUR_SLOT_ID";
slot.type = JADSlotTypeSplash;
slot.imgSize = imgSize;
slot.skipTime = 5;
slot.eventInteractionType = JADEventInteractionTypeShake;
// 创建 nativeAd 对象
self.nativeAd = [[JADNativeAd alloc] initWithSlot:slot];
self.nativeAd.rootViewController = self;
self.nativeAd.delegate = self;
// 请求广告
[self.nativeAd loadAdData];
UI组件-新增摇一摇和滑动组件:
// 摇一摇组件
JADNativeShakeWidget *shakeView = self.nativeAdWidget.shakeWidget;
[shakeView setFrame: CGRectMake(X, X, X, X)];
// 开启、关闭动画方法
[shakeView play]; // 开启动画
[shakeView stop]; // 关闭动画
// 滑动组件
JADNativeSwipeWidget *swipeView = self.nativeAdWidget.swipeWidget;
[swipeView setFrame: CGRectMake(X, X, X, X)];
// 开启、关闭动画方法
[swipeView play]; // 开启动画
[swipeView stop]; // 关闭动画
接收广告加载结果
JADNativeAdDelegate 回调说明
回调方法 | 注释 |
---|---|
jadNativeAdDidLoadSuccess: | 广告物料加载成功回调,建议在此回调方法中进行数据的插入处理,建议在该回调方法中统计您的请求成功数 |
jadNativeAdDidLoadFailure:error: | 返回错误码(error)标识广告加载失败的原因 |
jadNativeAdDidExposure: | 有效曝光回调,建议在该回调方法中统计您的曝光数 |
jadNativeAdDidClick:withView: | 点击回调方法,建议在该回调方法中统计您的点击数 |
jadNativeAdDidClose:withView: | 关闭回调方法 |
jadNativeAdDidCloseOtherController:interactionType: | 跳转页关闭回调 |
jadNativeAdForSplash:countDown: | 倒计时回调 |
通过设置 JADNativeAdDelegate 代理,获取广告关闭等回调。其它代理方法可参考 Demo 中 JADNativeBannerViewController 类
展示媒体自渲染开屏广告
- (void)jadNativeAdDidLoadSuccess:(JADNativeAd *)nativeAd {
if (!nativeAd.data && nativeAd.data.count == 0) { return; }
// 物料加载成功,加入到当前 window 进行展示
JADNativeAdData *adData = nativeAd.data.firstObject;
[self.splashAdView sd_setImageWithURL:[NSURL URLWithString:adData.adImages.firstObject] placeholderImage:nil];
[self.splashAdView setFrame:CGRectMake(0, 0, self.widthSlider.value, self.heightSlider.value)];
[self.skipButton setFrame:CGRectMake(JADScreenWidth - 115, kJADDefaultStautsBarHeight, 100, 30)];
[self.logoAdView setFrame:CGRectMake(10, JADScreenHeight - 20, 45, 13)];
[[UIApplication sharedApplication].keyWindow addSubview:self.splashAdView];
// 注册容器类以及绑定可点击 View
[self.nativeAd registerContainer:self.splashAdView withClickableViews:@[self.splashAdView] withClosableViews:@[self.skipButton]];
}
更新媒体自渲染开屏跳过按钮显示
- (void)jadNativeAdForSplash:(JADNativeAd *)nativeAd countDown:(int)countDown {
NSString *titleStr = [NSString stringWithFormat:@"%ds | 跳过", countDown];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:titleStr];
[attrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, titleStr.length)];
[attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)];
[attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(2, titleStr.length - 2)];
// 更新跳过按钮倒计时显示
[self.skipButton setAttributedTitle:attrStr forState:UIControlStateNormal];
}
资料
详细的对接方法可参照 Demo 中 JADNativeSplashViewController 类进行相应的对接处理
注意事项
在物料加载成功方法里获取相关广告信息赋值后,需调用 registerContainer:withClickableViews:withClosableViews: 注册绑定点击的 View 。 原有 registerContainer:withClickableViews:方法已过期。
自渲染开屏已支持摇一摇、上滑配置,需手动添加相关视图 JADNativeShakeWidget和JADNativeSwipeWidget。
- 2.0.0前旧版本接口不再进行支持,本次对广告初始化接口、广告加载接口等、以及广告相关回调,进行了全面升级,接入后请检查您是否使用最新了最新版本接口。