Статьи

Использование Microsoft Ad SDK в Windows 8

Один из лучших способов заработать деньги в Windows 8 — это показ рекламы в приложении Магазина Windows с помощью Microsoft Advertising SDK. Вот как вы можете начать.

Предварительные условия: Вам понадобится Windows 8 RTM и Visual Studio 2012.  Доступна бесплатная 90-дневная ознакомительная версия Windows 8 Enterprise, а VS2012 Express Edition полностью бесплатна .

Начните с загрузки и установки Microsoft Advertising SDK . На момент написания этой статьи Windows 8 RTM была выпущена, но Microsoft Ad SDK все еще находится на стадии бета-версии 6.1.0813.1. Он работает с Windows 8 RTM, но пока не все функции поддерживаются. RTM-версия Microsoft Ad SDK ожидается в середине сентября. Я буду обновлять этот пост по мере необходимости.

SDK, который вы только что установили, поддерживает как JavaScript, так и .NET. Этот пост посвящен использованию Ad SDK в приложении JavaScript.

Откройте Visual Studio и создайте пустое приложение Магазина Windows для JavaScript:

SNAGHTML3c3f61

В обозревателе решений щелкните правой кнопкой мыши ссылку и выберите «Добавить ссылку». Затем выберите Microsoft Advertising SDK и нажмите «ОК»:

SNAGHTML45512c

Вернитесь в обозреватель решений, разверните Ссылки и перейдите в SDK, чтобы найти ad.js

образ

Это SDK. Откройте его, если хотите. Это просто большой файл JavaScript.

Откройте файл default.html и вставьте элемент <script>, чтобы включить SDK. Сделайте это в <head> вашего документа и обязательно добавьте его после тега <script>, который вызывает default.js. Вы можете легко добавить этот <script>, перетащив ad.js из Solution Explorer в точку внизу вашего раздела <head>. Или просто введите его вручную:

<script src="http://blogs.msdn.com/MSAdvertisingJS/ads/ad.js"></script>

В <body> файла default.html вставьте рекламный элемент управления:

<div id="myAd" style='position: absolute; top: 53px; left: 0px; width: 728px; height: 90px; z-index: 1'
    data-win-control="MicrosoftNSJS.Advertising.AdControl"
    data-win-options="{applicationId: 'test_client', adUnitId: 'Image_728x90'}">
</div>

 

Это просто <div> с атрибутом «data-win-control», как и другие элементы управления Windows 8. В «data-win-options» вы можете ввести свой applicationId из pubCenter (зарегистрируйтесь, чтобы получить его), а также изменить тип отображаемой рекламы, изменив adUnitId.  Много вариантов для adUnitId перечислены в документации Ad SDK . Рекламные блоки различаются по размеру, типу (текст или изображение) и по действию, которое вызывает нажатие на него. Подберите ширину и высоту <div> по размеру рекламного блока. В вышеприведенном примере возвращаемое <div> и рекламное объявление имеют ширину 728 пикселей и высоту 90 пикселей. Нажмите F5, чтобы запустить ваше приложение:

образ

Если вы немного повозитесь с CSS, что мне нравится делать в Blend, вы получите что-то сносное, например, это объявление, показанное в игре EaselJS Space Rocks:

образ

 

Теперь, когда у нас есть основы, давайте копнем немного глубже. Вот все параметры, доступные для AdControl:

data-win-control="MicrosoftNSJS.Advertising.AdControl"
data-win-options="{applicationId: 'test_client',
                    adUnitId: 'Image_300x250',
                    countryOrRegion: 'us',
                    isAutoRefreshEnabled: false,
                    keywords: 'windows8,awesome',       
                    latitude: 40.47,
                    longitude: 73.58,
                    postalCode: '10021',
                    onAdRefreshed: myAdRefreshed,
                    onErrorOccurred: myAdError,
                    onEngagedChanged: myAdEngagedChanged,
                    onPointerDown: myPointerDown,
                    onPointerUp: myPointerUp }"

 

  • applicationId: ваш ключ от pubCenter
  • adUnitId: тип объявления
  • countryOrRegion: где вы находитесь
  • isAutoRefreshEnabled: установите в false, если вы хотите контролировать частоту показа нового объявления. Сделайте свой собственный вызов refresh (), чтобы показать новое объявление. Похоже, что это не работает в бета-версии SDK.
  • ключевые слова, широта, долгота и postalCode могут использоваться для запроса релевантных объявлений на основе ключевых слов и местоположения. Если вы получите слишком конкретную информацию, возможно, не будет доступных объявлений и ничего не будет показано.
  • onAdRefreshed указывает на функцию, которая будет вызываться при обновлении рекламы.
  • onErrorOccured указывает на обратный вызов для ошибок.
  • onEngagedChanged указывает на функцию, которая будет вызываться, когда пользователь нажимает на объявление. В зависимости от adUnitId, это может показать полноэкранное объявление или даже открыть браузер. Используйте этот обратный вызов, чтобы приостановить игру.  См. Документацию SDK для примера .
  • onPointerDown и onPointerUp указывают на функции, которые вызываются, когда пользователь щелкает, указывает или касается внутри рекламного объявления.

Вышеуказанные параметры показаны в HTML5, но они также могут быть установлены в JavaScript. Например:

var adDiv = document.getElementById("myAd");
var myAdControl = new MicrosoftNSJS.Advertising.AdControl(adDiv,
                {
                  applicationId: 'test_client',
                  adUnitId: 'Image_250x250'
                });
myAdControl.isAutoRefreshEnabled = false;
myAdControl.countryOrRegion = "us";
myAdControl.keywords = "windows8, rocks";
myAdControl.latitude = 40.47;
myAdControl.longitude = 73.58;
myAdControl.postalCode = "10021";
myAdControl.onErrorOccurred = myAdError;
myAdControl.onAdRefreshed = myAdRefreshed;
myAdControl.onEngagedChanged = myAdEngagedChanged;

 

Посетите страницу « Дополнительная справка» в документации по SDK для получения дополнительных ресурсов, включая ссылку на форум онлайн-поддержки.