在 iOS 页面上配置预置展位分为数据接入和 UI 接入两部分操作。数据接入回调获取的是展位数据;UI 接入获取的是根据展位数据生成的 UI 对象。
如果您是智能投放组件的新手用户,建议您直接通过该组件的控制台(服务端)动态配置广告展位的 iOS 页面。更多服务端的配置信息,查看 创建展位。
说明
预置接入的对象一般为 ViewController
的子类,该对象必须实现 PromotionCenterDelegate
方法。
UI 接入
添加协议实现。
ViewController
对象实现投放的协议PromotionCenterDelegate
。@interface DemoViewController () <CDPPromotionCenterDelegate> @end
添加投放监听。
在
ViewController
的viewDidLoad
中(或之前)调用添加监听接口,当投放数据就绪时,会通过协议方法进行回调。NSArray *spaceCodes = @[@"code1", @"code2"]; [CDPPromotionCenter addObserver:self spaceCodesForView:spaceCodes spaceCodesForData:nil extInfo:nil immediately:YES];
实现
PromotionCenterDelegate
协议中回调spaceView
对象的方法,将生成的view
添加到页面上。- (void)promotionViewDidFinishLoading:(CDPSpaceView *)spaceView spaceCode:(NSString *)spaceCode { // 将获取的 spaceView 添加到屏幕上 // 如果传回的 spaceView 为 nil,表示请求删除广告,此时必须删掉广告内容,页面恢复到没有广告内容的状态。
移除监听。
在页面退出时,移除监听。在
ViewController
的dealloc
方法中移除监听。- (void)dealloc { [CDPPromotionCenter removeObserver:self]; }
数据接入
添加协议实现。
ViewController
对象实现投放的协议PromotionCenterDelegate
。@interface DemoViewController () <CDPPromotionCenterDelegate> @end
添加投放监听。
在
ViewController
的viewDidLoad
中(或之前)调用添加监听接口,当投放数据就绪时,会通过协议方法进行回调。NSArray *spaceCodes = @[@"code1", @"code2"]; [CDPPromotionCenter addObserver:self spaceCodesForView:nil spaceCodesForData:spaceCodes extInfo:nil immediately:YES];
实现
PromotionCenterDelegate
协议中回调spaceInfo
对象的方法,根据返回的数据,进行自定义处理。- (void)promotionDataDidFinishLoading:(CDPSpaceInfo *)spaceInfo spaceCode:(NSString *)spaceCode { // 根据 spaceInfo 生成需要显示的广告view // 可以自定义来生成 view,也可以使用 SDK 提供的 CDPSpaceView 类 // 将广告 view 添加到屏幕上 }
移除监听。
在退出页面时,移除监听。在
ViewController
的dealloc
方法中移除监听。- (void)dealloc { [CDPPromotionCenter removeObserver:self]; }
文档内容是否对您有帮助?