更新时间:2021-01-14 09:50
在 iOS 页面上配置预置展位分为数据接入和 UI 接入 2 部分操作。数据接入回调获取的是展位数据;UI 接入获取的是根据展位数据生成的 UI 对象。
如果您是智能投放组件的新手用户,建议您直接通过该组件的控制台(服务端)动态配置广告展位的 iOS 页面。更多服务端的配置信息,查看 创建展位。
ViewController
的子类,该对象必须实现 PromotionCenterDelegate
方法。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];
}
在文档使用中是否遇到以下问题
更多建议
匿名提交