全部产品

配置预置展位

更新时间:2020-09-10 14:53:01

在 iOS 页面上配置预置展位分为数据接入和 UI 接入 2 部分操作。数据接入回调获取的是展位数据;UI 接入获取的是根据展位数据生成的 UI 对象。

如果您是智能投放组件的新手用户,建议您直接通过该组件的控制台(服务端)动态配置广告展位的 iOS 页面。更多服务端的配置信息,查看 创建展位

预置接入的对象一般为 ViewController 的子类,该对象必须实现 PromotionCenterDelegate 方法。

UI 接入示例

  1. 添加协议实现。
    ViewController 对象实现投放的协议 PromotionCenterDelegate
    1. @interface DemoViewController () <CDPPromotionCenterDelegate>
    2. @end
  2. 添加投放监听。
    ViewControllerviewDidLoad 中(或之前)调用添加监听接口,当投放数据就绪时,会通过协议方法进行回调。
    1. NSArray *spaceCodes = @[@"code1", @"code2"];
    2. [CDPPromotionCenter addObserver:self
    3. spaceCodesForView:spaceCodes
    4. spaceCodesForData:nil
    5. extInfo:nil
    6. immediately:YES];
  3. 实现 PromotionCenterDelegate 协议中回调 spaceView 对象的方法,将生成的 view 添加到页面上。
    1. - (void)promotionViewDidFinishLoading:(CDPSpaceView *)spaceView
    2. spaceCode:(NSString *)spaceCode {
    3. // 将获取的 spaceView 添加到屏幕上
    4. // 如果传回的 spaceView 为 nil,表示请求删除广告,此时必须删掉广告内容,页面恢复到没有广告内容的状态。
  4. 移除监听。
    在页面退出时,移除监听。在 ViewControllerdealloc 方法中移除监听。
    1. - (void)dealloc {
    2. [CDPPromotionCenter removeObserver:self];
    3. }

数据接入示例

  1. 添加协议实现。
    ViewController 对象实现投放的协议 PromotionCenterDelegate
    1. @interface DemoViewController () <CDPPromotionCenterDelegate>
    2. @end
  2. 添加投放监听。
    ViewControllerviewDidLoad 中(或之前)调用添加监听接口,当投放数据就绪时,会通过协议方法进行回调。
    1. NSArray *spaceCodes = @[@"code1", @"code2"];
    2. [CDPPromotionCenter addObserver:self
    3. spaceCodesForView:nil
    4. spaceCodesForData:spaceCodes
    5. extInfo:nil
    6. immediately:YES];
  3. 实现 PromotionCenterDelegate 协议中回调 spaceInfo 对象的方法,根据返回的数据,进行自定义处理。

    1. - (void)promotionDataDidFinishLoading:(CDPSpaceInfo *)spaceInfo
    2. spaceCode:(NSString *)spaceCode {
    3. // 根据 spaceInfo 生成需要显示的广告view
    4. // 可以自定义来生成 view,也可以使用 SDK 提供的 CDPSpaceView 类
    5. // 将广告 view 添加到屏幕上
    6. }
  4. 移除监听。
    在退出页面时,移除监听。在 ViewControllerdealloc 方法中移除监听。
    1. - (void)dealloc {
    2. [CDPPromotionCenter removeObserver:self];
    3. }