Подтвердить что ты не робот

Настройка объявлений в Windows Phone 8

Я нашел несколько разбросанных ответов на подобные проблемы (в основном с Windows Phone 7), но хотел опубликовать ответ, содержащий все требования к объявлениям 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

Объявления отображаются в одном приложении, которое я разрабатываю, но не другое, и исключение не показывает никакой полезной информации.

4b9b3361

Ответ 1

Я понял, как поймать исключение и посмотреть, что на самом деле проблема (что было большим количеством недостающих возможностей в моем файле манифеста). Чтобы попытаться поймать исключение из AdControl и получить нужные мне данные, я добавил следующее на свою страницу.

Ошибки контроля URL-адресов

    public MainPage()
    {
        InitializeComponent();

        AdUnit.ErrorOccurred += AdUnit_ErrorOccurred;
    }

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

Который показал мне, что мне не хватает разрешения MEDIALIB и разрешения PHONEDIALER. Я провел некоторое тестирование и решил, что для любого приложения, которое запускает объявления, потребуются следующие разрешения:

Необходимые разрешения

ID_CAP_IDENTIFY_USER
ID_CAP_MEDIALIB_PHOTO
ID_CAP_NETWORKING
ID_CAP_PHONEDIALER
ID_CAP_WEBBROWSERCOMPONENT

Установить параметры

Из других сообщений, которые я прочитал, также важно убедиться, что вы правильно устанавливаете ширину/высоту рекламных блоков на 480/80, если они автоматические и не имеют минимальных разрешений, то объявление не будет отображаться.

Убедитесь, что для просмотра в эмуляторе вы можете использовать test ApplicationId и AdUnitId. Учетные данные PubCenter будут работать только в опубликованном приложении.

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

Скрыть или сменить Failed/Empty Ad Controls

Если ваш AdControl не удался, он оставляет большое пустое место в объявлении. Вы можете либо скрыть его, либо обменять его с помощью объявления из другой сети. Для этого перехватите исключение, как показано выше (AdUnit_ErrorOccurred), и добавьте следующее:

Скрыть:

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

Настройка видимости не срабатывала сама по себе, высота также должна быть установлена ​​на 0.

Сменить объявление:

Вместо того, чтобы скрывать AdControl, вы можете показывать альтернативную рекламную панель из службы, например http://www.adduplex.com.