媒体自渲染 开屏

简介

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 类进行相应的对接处理

注意事项

  1. 在物料加载成功方法里获取相关广告信息赋值后,需调用 registerContainer:withClickableViews:withClosableViews: 注册绑定点击的 View 。 原有 registerContainer:withClickableViews:方法已过期。

  2. 自渲染开屏已支持摇一摇、上滑配置,需手动添加相关视图 JADNativeShakeWidget和JADNativeSwipeWidget。

  3. 2.0.0前旧版本接口不再进行支持,本次对广告初始化接口、广告加载接口等、以及广告相关回调,进行了全面升级,接入后请检查您是否使用最新了最新版本接口。
© JD.COM all right reserved,powered by Gitbook该文档最后更新: 2023-05-15 17:54:53

results matching ""

    No results matching ""