京东渲染开屏广告

简介

SDK 为接入方提供了开屏广告,开屏广告建议为用户在进入 App 时展示的全屏广告。

注意❗️❗❗️ 开屏采用动态化渲染方式后,JADSplashView 类样式属性(splashStyle)配置不再生效

开始之前

在开始集成开屏广告之前,您需要完成以下步骤:

  • 京媒合作平台创建开发者账号,添加应用,然后申请并配置一个京东渲染开屏的代码位
  • 将 iOS SDK 集成到您的开发项目并完成 SDK 初始化操作

  • 注意❗️❗❗️ 2.1.0及后续版本,区分了京东渲染与媒体渲染代码位,如采用京东渲染接口加载广告,需传入京东渲染代码位

  • 注意❗️❗❗️ 2.1.0及后续版本,京东渲染开屏只需要创建一个代码位即可,SDK不再有入参尺寸比例要求

使用说明

京东渲染开屏广告使用 JADSplashView 对象调用 loadAdData 方法请求广告,使用 addSubview 添加广告进行展示,通过设置 JADSplashViewDelegate 代理,获取广告、展示、点击、关闭、跳过等回调。

步骤 1. 初始化开屏广告

京媒SDK 触发几个事件来通知您开屏广告活动。要显示开屏广告,需要创建 JADSplashView 对象,设置它的委托并加载广告。

创建 JADSplashView 对象

必传参数:

字段定义 字段名称 字段类型 备注
slotID 代码位 NSString 必传参数,代码位ID
adSize 尺寸 CGSize 必传参数,广告位请求尺寸
rootViewController 控制器 UIViewController 必传参数,落地页跳转所需控制器
delegate 开屏视图代理 id 必传参数,回调代理

可选参数:

字段定义 字段名称 字段类型 备注
tolerateTime 容忍超时时间 NSTimeInterval 默认超时时间为5s
skipTime 跳过超时时间 NSTimeInterval 默认超时时间为5s
hideSkipButton 隐藏跳过按钮 BOOL 如果您自定义跳过按钮,则需要调用removeSplashView方法来关闭开屏广告

注意❗️❗❗️ JADClickEventTriggerType 触发点击事件的手势类型,该可选属性已做过期处理

下面的代码片段演示了如何使用 JADSplashView 类来创建 splashView 对象,并实现 JADSplashView 接口来接收 splashView 广告事件。SDK 将通知委托所有可能发生的事件如下:

@property (strong, nonatomic) JADSplashView *splashView;

- (JADSplashView *)splashView {
     if(!_splashView) {
         _splashView = [[JADSplashView alloc] initWithSlotID:@"YOUR_SLOT_ID" adSize:CGSizeMake(splashWidth, splashHeight)];

         // Required  回调代理
         _splashView.delegate = self;

         // Required  开屏落地页控制器设置
         _splashView.rootViewController = self.window.rootViewController;

         // Optional  加载广告最大容忍时长,默认5s
         _splashView.tolerateTime = 5;

         // Optional  开屏广告跳过时长,默认5s
         _splashView.skipTime = 5;

         // Optional 隐藏跳过按钮
         _splashView.hideSkipButton = YES;
     }
   return _splashView;
}
JADSplashViewDelegate 回调说明

在代码中实现以下回调函数,以在收到广告状态时处理广告逻辑。通过 JADSplashViewDelegate 协议声明的方法,允许采用的委托响应来自 JADSplashView 类的消息,从而响应诸如是否已加载广告或用户单击广告之类的操作。

回调方法 注释
jadSplashViewDidLoadSuccess: 加载成功回调,建议在该回调方法中统计您的请求成功数
jadSplashViewDidLoadFailure:error: 返回的错误码(error),表示广告加载失败的原因,所有错误码详情,请见链接 Link
jadSplashViewDidRenderSuccess: 渲染成功回调,建议在该回调方法中统计您的填充数
jadSplashViewDidRenderFailure:error: 渲染失败回调,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。
jadSplashViewDidExposure: 有效曝光回调,建议在该回调方法中统计您的曝光数
jadSplashViewDidClick: 点击回调,建议在该回调方法中统计您的点击数
jadSplashViewDidClose: 关闭回调,当点击跳过按钮或者用户点击广告时会直接触发此回调,建议在此回调方法中直接进行广告对象的移除动作,并将广告对象置为nil

步骤 2. 加载开屏广告

调用 loadAdData 方法,请求开屏广告。

[self.splashView loadAdData];

调用 preloadAdData 方法,预缓存广告

[self.splashView preloadAdData];

步骤 3. 显示开屏广告

通过 JADSplashViewDelegate 协议声明的方法,当响应 Render Success 回调方法时展示广告

- (void)jadSplashViewDidRenderSuccess:(JADSplashView *)splashView {
    NSLog(@"SplashView Render Success");

    [self.window.rootViewController.view addSubview:splashView];
}

自定义关闭广告

媒体可通过调用 removeSplashView 方法来关闭广告。(如果您自定义跳过按钮,则需要调用此方法来关闭开屏广告)

[_splashView removeSplashView];

获取广告价格

// 获取竞价价格,广告加载成功后才能获取到价格,单位:分
NSInteger price = _splashView.price;

注意事项

  1. 开屏广告的请求最好放在didFinishLaunchingWithOptions回调方法中进行相关的处理,避免任何形式的缓存处理,开屏广告的请求统一放在前台进行相关的处理
  2. 避免出现展示广告的window被提前释放或取错window的情况
  3. jadSplashViewDidLoadFailure:error 回调方法中做广告对象移除操作,避免广告请求失败时导致的一些特定场景
  4. 确认设置了Allow Arbitrary Loads权限,避免某些广告资源无法加载情景的发生
  5. 开屏广告的容忍超时时间建议设置在5s以上,确保和自身项目的请求超时时间不冲突,避免出现请求失败的场景
  6. 开屏广告返回的是一个view,客户端直接展示view即可。如果要在底部添加自身logo,需要缩小开屏广告的展示区域,此时请求的宽高填写裁剪后的宽高即可
  7. jadSplashViewDidClick、jadSplashView:didFailWithError 回调方法中进行广告的移除操作
  8. 2.0.0前旧版本接口不再进行支持,本次对广告初始化接口、广告加载接口等、以及广告相关回调,进行了全面升级,接入后请检查您的回调是否使用最新版本。

资源

详细接入可参考Demo中的AppDelegate类、JADSplashViewController

© JD.COM all right reserved,powered by Gitbook该文档最后更新: 2024-04-25 21:12:16

results matching ""

    No results matching ""