2016-06-07 33 views
0

我試圖使用GoogleMobileAds框架顯示DFP廣告。使用GoogleMobileAds.framework在iOS上顯示DFP廣告

代碼:

@IBOutlet weak var bannerView: DFPBannerView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let request = DFPRequest() 
     request.testDevices = [kGADSimulatorID] 

     bannerView.delegate = self 
     bannerView.adUnitID = "/6499/example/banner" 
//  bannerView.adUnitID = 「/my_network/my_unit_id」 
     bannerView.rootViewController = self 
     bannerView.loadRequest(request) 
    } 

它正常工作與谷歌測試廣告單元ID和設置的testDevices。

憑藉我自己的廣告單元ID,我仍然得到測試橫幅,而不是我自己的。 如果我將「testDevices」行註釋掉,我得到以下錯誤,並且沒有標題:「要在此設備上獲取測試廣告,請調用:request.testDevices = @ [kGADSimulatorID];」,同時使用測試廣告單元ID和我自己的廣告單元ID。

同樣的問題發生在設備上,使用正確的設備ID而不是kGADSimulatorID。 在展示DFP廣告之前是否還有其他需要配置的內容?我如何才能讓應用正確顯示廣告?

後來編輯:

我現在能獲得的廣告,同樣的代碼如上,如果我的橫幅視圖的大小設置爲廣告單元的具體尺寸(300x250的):

let bannerView = DFPBannerView(frame: CGRectMake(0, 0, 300, 250)) 

然而,任何其他尺寸將導致didFailToReceiveAdWithError委託方法被調用,出現錯誤「錯誤域= com.google.ads代碼= 1「請求錯誤:沒有廣告,以示」「

let bannerView = DFPBannerView(adSize:kGADAdSizeBanner) 

導致相同的錯誤。

我需要展示可以調整到設備全寬的廣告,從320到414(6 Plus)。除了將分辨率添加到廣告單元之外,還有什麼方法可以實現嗎?

回答

0

錯誤..

To get test ads on this device, call: request.testDevices = @[ kGADSimulatorID ];

實際上不是一個錯誤,它只是建議。

當您在註冊測試設備的情況下運行時,它顯然會顯示測試單元以顯示該庫已加載並按預期工作。

當您刪除測試設備,改變它的廣告單元ID,以你自己的話只要下面已經做到,那麼就應該工作:在DFP

  1. ,在清單選項卡。您是否創建了廣告單元,如My_Test_ad
  2. 當您創建此廣告單元時,是否啓用了AdSense廣告並將AdExchane連接到了您的DFP帳號?
  3. 您還應該能夠運行投放診斷程序,以確保廣告單元正常工作並投放廣告。

如果上述所有操作都已完成,那麼您應該獲取廣告單元。我猜想adExchange部分尚未設置,因此您沒有廣告可以展示。

我無法專門記住它們,但是有一些委託函數可以告訴您何時發生錯誤,提取失敗或成功,請嘗試添加這些函數並將一些信息記錄到控制檯中,以查看發生了什麼。

相關問題