全部產品
Search
文件中心

Mobile Platform as a Service:配置預置展位

更新時間:Jul 13, 2024

在 iOS 頁面上配置預置展位分為資料接入和 UI 接入兩部分操作。資料接入回調擷取的是展位元據;UI 接入擷取的是根據展位元據產生的 UI 對象。

如果您是智能投放組件的新手使用者,建議您直接通過該組件的控制台(服務端)動態配置廣告展位的 iOS 頁面。更多服務端的配置資訊,查看 建立展位

說明

預置接入的對象一般為 ViewController 的子類,該對象必須實現 PromotionCenterDelegate 方法。

UI 接入

  1. 添加協議實現。ViewController 對象實現投放的協議 PromotionCenterDelegate

     @interface DemoViewController () <CDPPromotionCenterDelegate>
     @end
  2. 添加投放監聽。

    ViewControllerviewDidLoad 中(或之前)調用添加監聽介面,當投放資料就緒時,會通過協議方法進行回調。

     NSArray *spaceCodes = @[@"code1", @"code2"];
     [CDPPromotionCenter addObserver:self
                            spaceCodesForView:spaceCodes
                            spaceCodesForData:nil
                                            extInfo:nil
                                     immediately:YES];
  3. 實現 PromotionCenterDelegate 協議中回調 spaceView 對象的方法,將產生的 view 添加到頁面上。

     - (void)promotionViewDidFinishLoading:(CDPSpaceView *)spaceView
                                           spaceCode:(NSString *)spaceCode {
         // 將擷取的 spaceView 添加到螢幕上
         // 如果傳回的 spaceView 為 nil,表示請求刪除廣告,此時必須刪掉廣告內容,頁面恢複到沒有廣告內容的狀態。
  4. 移除監聽。

    在頁面退出時,移除監聽。在 ViewControllerdealloc 方法中移除監聽。

     - (void)dealloc {
         [CDPPromotionCenter removeObserver:self];
     }

資料接入

  1. 添加協議實現。 ViewController 對象實現投放的協議 PromotionCenterDelegate

     @interface DemoViewController () <CDPPromotionCenterDelegate>
     @end
  2. 添加投放監聽。

    ViewControllerviewDidLoad 中(或之前)調用添加監聽介面,當投放資料就緒時,會通過協議方法進行回調。

     NSArray *spaceCodes = @[@"code1", @"code2"];
     [CDPPromotionCenter addObserver:self
                            spaceCodesForView:nil
                            spaceCodesForData:spaceCodes
                                            extInfo:nil
                                     immediately:YES];
  3. 實現 PromotionCenterDelegate 協議中回調 spaceInfo 對象的方法,根據返回的資料,進行自訂處理。

     - (void)promotionDataDidFinishLoading:(CDPSpaceInfo *)spaceInfo 
                             spaceCode:(NSString *)spaceCode {
         // 根據 spaceInfo 產生需要顯示的廣告view
       // 可以自訂來產生 view,也可以使用 SDK 提供的 CDPSpaceView 類
       // 將廣告 view 添加到螢幕上
    
     }
  4. 移除監聽。

    在退出頁面時,移除監聽。在 ViewControllerdealloc 方法中移除監聽。

     - (void)dealloc {
         [CDPPromotionCenter removeObserver:self];
     }