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

Объявления для телефонов Windows не работают

Я пытаюсь интегрировать объявления в уже успешно развернутое приложение. Однако независимо от того, что я делаю, я не могу заставить рекламу работать. Я попытался использовать как версию кода, так и версию drag n 'drop gui. Ни один из которых я не могу работать.

Это то, что я вижу: когда он запустится, он может мигать для секунды секунды белого, где должно быть объявление, но тем не менее, нет добавок. Он распознает, что именно там я его размещаю, когда я помещаю его над кнопкой, кнопка становится незаметной. Все, что говорят, не появляется по умолчанию "реклама для Microsoft". Я установил SDK объявлений и с легкостью смог показать рекламу в другом проекте.

Что дает? Это очень простая страница, и я не могу понять, что не так. Также кажется, что я не могу разместить объявление ни на одной из других страниц... У меня есть Microsoft.Advertising.Mobile и Microsoft.Advertising. Mobile.UI включен в проект, и мой интернет работает (у меня одновременно открыт проект с рекламой и он работает)

<phone:PhoneApplicationPage 
    x:Class="AppName.AdPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
    shell:SystemTray.IsVisible="True"
    xmlns:my="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Margin="12,17,12,28">
            <TextBlock x:Name="PageTitle" Text="Thank You!" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" Width="334" />
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Height="569" VerticalAlignment="Top">

            <Button Content="Ok" Height="72" HorizontalAlignment="Center" Margin="0,428,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" />
            <my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" />
        </Grid>
    </Grid>
</phone:PhoneApplicationPage>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Advertising.Mobile.UI;
using Microsoft.Advertising.Mobile;
namespace Stickey_Note_v._1
{
    public partial class AdPage : PhoneApplicationPage
    {
        public AdPage()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }
    }
}
4b9b3361

Ответ 1

У меня была такая же проблема, и я написал сообщение в блоге об этом. Вот важный материал:

Симптомы проблемы с SDK AdControl кажутся довольно последовательными: страница загружается, элемент управления мерцает кратко, показывая намек на 1 пиксельный кадр, а затем, poof. Он рушится в ничто, оставляя только черную дыру.

Теоретически настройка AdControl проста. В документации от Microsoft описываются основы:

  • Загрузите и установите Microsoft Advertising SDK.
  • Добавить ссылку на Microsoft.Advertising.Mobile.UI.
  • Перетащите элемент управления на страницу в дизайнере Visual Studio.
  • Задайте свойства AdUnitId и ApplicationId либо для проверки значений, либо для реальных значений в реальном времени, которые вы можете получить в Microsoft pubCenter.

Но это не могло быть так просто. Я внимательно следил за документацией, но ничего не работало. Я даже не смог получить тестовые объявления, которые казались действительно странными. Я даже вернулся к старой версии моего приложения (yay source control!) И упал в новую .dll. Неудача.

Наконец, я нашел ключ в сообщении неясного форума.

В документации Microsoft не упоминается несколько важных деталей. Вы должны обратить особое внимание на следующее, если вы обновляете существующий проект до SDK Mango ad, так как я был:

  • Вы должны указать высоту и ширину для AdControl. Если вы не укажете атрибуты Height и Width или установите их на auto, это вызовет слезы разочарования. Я бы рекомендовал 80 пикселей в высоту и 480 пикселей в ширину, так же как и собственный размер объявлений, которые Microsoft обслуживает.
  • Кажется, что вы не можете иметь две AdControls на одной странице или, по крайней мере, не в одном и том же родительском элементе. Второй рухнет. Возможно, так и было, но я обнаружил это, создавая свое демо-приложение и не хотел преследовать решение.
  • Вы должны должны указать определенные возможности в вашем файле WMAppManifest.xml. Поскольку я обновлял свое приложение, у меня не было объявлено о новых объявленных возможностях. Тот, который вызывал все проблемы, был ID_CAP_IDENTITY_USER. Для правильной работы элемента управления требуются следующие возможности:
<Capabilities>
    <Capability Name="ID_CAP_IDENTITY_USER"/>
    <Capability Name="ID_CAP_MEDIALIB"/>
    <Capability Name="ID_CAP_NETWORKING"/>
    <Capability Name="ID_CAP_PHONEDIALER"/>
    <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
</Capabilities>

Надеюсь, что это поможет!

Ответ 2

Я думаю, что ваша проблема может возникнуть (если вы не удалили ее для публикации здесь):

 <my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" />
        </Grid>

Вы должны использовать AdUnitId и ApplicationId, которые вы получаете от pubCenter.

Ответ 3

Еще один пример для тех, кто все еще борется

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

 <ads:AdControl Height="80"
                           Width="480"
                           AdUnitId="Image480_80"
                           ApplicationId="test_client" />

Как в примере. Объявление объявлений и пространство имен очень важно. В моем проекте я только что вставил элемент adcontrol alt + enter для resharper, чтобы выполнить оставшуюся часть работы, которую он не сделал. Он заменяет объявления пользовательским интерфейсом, и не было компиляции ошибок, пока объявления не будут отображаться. Когда я сам объявил объявления и изменил пространство имен adcontrol. Все работало нормально.