WP7 Microsoft Advertising AdControl исчезает и выдает исключения - PullRequest
4 голосов
/ 16 апреля 2011

У меня проблемы с внедрением AdControl в мое приложение Silverlight WP7. Вчера я зарегистрировался в PubCenter и настроил новое приложение для Windows Phone 7. PubCenter сообщает мне, что оно одобрено, и дает мне идентификатор приложения. Допустим, для этого поста идентификатор приложения равен abc-123. Затем я создал рекламный блок под названием «Разработчик» (мое приложение для разработчиков).

Я выбрал две категории (технологии и компьютерные технологии - все, образование - аспирантура). Я выбрал «Большой баннер с соотношением 6: 1 (216 * 36)» в качестве формата своего рекламного блока. Я не уверен насчет формата рекламы, но после того, как я его сохранил, я не смог его изменить. Допустим, для этого поста идентификатор рекламного блока равен 55555.

Я установил SDK для Microsoft Advertising, а затем добавил ссылку Microsoft.Advertising.Mobile.UI в свой проект телефона.

Я добавил AdControl на одну из своих страниц xaml:

<UI:AdControl ApplicationId="abc-123" AdUnitId="55555" AdModel="Contextual"></UI:AdControl>

с пространством имен:

xmlns:UI="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI" 

В коде позади страницы, на которой у меня есть элемент управления, я установил тестовый режим, как подсказывают учебники:

using Microsoft.Advertising.Mobile.UI;
...
public MainPage()
{
    InitializeComponent();
    AdControl.TestMode = true;
}

Когда я запускаю приложение и перехожу на страницу, я на мгновение вижу серую границу AdControl, затем AdControl исчезает. Нет ошибки во время выполнения или что-либо, что может остановить выполнение. Если я смотрю в окно вывода, то вижу, что элемент управления не работает:

'taskhost.exe' (управляемый): загружен '\ Applications \ Install \ D9123383-1522-4DCC-A270-AD0E7B642996 \ Install \ Microsoft.Advertising.Mobile.UI.dll' 'taskhost.exe' (управляемый): загружен '\ Applications \ Install \ D9123383-1522-4DCC-A270-AD0E7B642996 \ Install \ Microsoft.Phone.Controls.dll' 'taskhost.exe' (управляемый): загружен 'System.Windows.debug.resources.dll' A исключение первого типа «System.Net.WebException» произошло в System.Windows.dll Первый шанс исключение типа «System.Net.WebException» произошло в System.Windows.dll Первый шанс исключение типа «System.Net.WebException» произошло в Microsoft.Advertising.Mobile.UI.dll

Я попытался выполнить развертывание на устройстве разработчика и установить для режима тестирования значение false с тем же результатом. Я даже попробовал параметры теста, о которых я читал в Интернете:

<UI:AdControl ApplicationId="test_client" AdUnitId="Image480_80" AdModel="Contextual"></UI:AdControl>

Это также приводит к исчезновению элемента управления.

1 Ответ

3 голосов
/ 16 апреля 2011

Стив,

Мне кажется, я вижу проблему.Вы устанавливаете AdControl.TestMode = true в конструкторе MainPage, что слишком поздно в цикле запуска приложения.Попробуйте переместить эту строку в конструктор файла App.xaml.cs codebehind.Класс App загружается раньше всего, установка режима гарантирует, что это произойдет достаточно рано.

Не на 100 процентов уверен в обосновании здесь, но я предполагаю, что TestMode необходимо установить до того, какконтроль предоставляется.Дерево управления уже завершило рендеринг к тому времени, как завершается метод MainPage InitializeComponent.

Дайте нам знать, как это происходит.

...