18

我發現了一些對類似問題(主要是Windows Phone 7)的分散迴應,但希望發佈一個包含Windows Phone 8廣告所有要求的答案。在Windows Phone 8中設置廣告

我一直在Windows Phone 8中設置廣告時遇到了一些問題。每當我運行模擬器時,遇到應用程序將運行但廣告不會顯示的問題。

該應用程序運行正常,但我在輸出控制檯發現以下異常被記錄:

An exception of type 'Microsoft.Advertising.Shared.AdException' occurred in Microsoft.Advertising.Mobile.DLL and wasn't handled before a managed/native boundary 

廣告顯示了罰款在一個應用程序,我發展,但不是另一個和異常不顯示任何有用的信息。

回答

49

我想出瞭如何捕捉異常並查看問題實際是什麼(這是我的Manifest文件中的大量缺失功能)。爲了嘗試捕捉AdControl中的異常並獲取我需要的數據,我將以下內容添加到了我的頁面中。

抓住廣告控制錯誤

public MainPage() 
    { 
     InitializeComponent(); 

     AdUnit.ErrorOccurred += AdUnit_ErrorOccurred; 
    } 

    void AdUnit_ErrorOccurred(object sender, Microsoft.Advertising.AdErrorEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

這表明我,我錯過了mediaLib權限和電話撥號權限。我進行了一些測試,並確定運行廣告的任何應用程序將需要以下權限:

必需的權限

ID_CAP_IDENTIFY_USER 
ID_CAP_MEDIALIB_PHOTO 
ID_CAP_NETWORKING 
ID_CAP_PHONEDIALER 
ID_CAP_WEBBROWSERCOMPONENT 

設置參數

從我讀過的其他職位是對於確保您將廣告單元的寬度/高度正確設置爲480/80也很重要,如果它是自動的並且沒有最小尺寸,那麼廣告不會顯示。

確保要在模擬器中查看它,只能使用test ApplicationId and AdUnitId。 PubCenter憑證只能在已發佈的應用程序中使用。

<UI:AdControl x:Name="AdUnit" Height="80" Width="480" 
    AdUnitId="Image480_80" ApplicationId="test_client" /> 

隱藏或覆蓋失敗/空的廣告控制

如果你的廣告控制失敗,留下您的廣告一大空白。您可以隱藏它或將其與另一個網絡中的廣告進行交換。要做到這一點,捕捉到了異常如上圖所示(AdUnit_ErrorOccurred),並增加了以下內容:

要隱藏:

AdUnit.Height = 0; 
AdUnit.Visibility = System.Windows.Visibility.Collapsed; 

設置的知名度並沒有對自己的工作,高度必須是也設置爲0。

交換廣告:

而是隱藏廣告控制的,你可以顯示來自像http://www.adduplex.com服務的替代廣告欄。

+4

我希望我可以upvote這兩次! –

+0

我遵循你的指導原則,加入單位工作。但是,現在,當我將其提交給市場(仍在簽署過程中)時,我可以看到「添加單位 - 無」,這讓我擔心了一下。這是正常的嗎? – Booyaches

+1

@Booyaches我認爲這是針對您在提交應用時使用可選「添加應用內廣告」步驟設置的廣告單元。對於現有的pubCenter帳戶,似乎尚未啓用此步驟,因此大多數人都無法使用它。您的廣告仍應顯示正常,如果可能的話,請在實際設備上進行測試,以確保您的設置是正確的。 – ellemayo