在 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]; }