Опубликован: 01.11.2011 | Доступ: свободный | Студентов: 1425 / 63 | Оценка: 3.84 / 3.44 | Длительность: 15:38:00
Специальности: Программист
Практическая работа 29:

Монетизация приложений Windows Phone 7

< Практическая работа 28 || Практическая работа 29
Аннотация: Microsoft обратилась к разработчикам программного обеспечения с предложением заработать на программах для Windows Phone 7.

Дополнительные материалы к занятию можно скачать здесь.

Вложенные папки: Advertising

Вложенные файлы: monetising.ppt

Microsoft обратилась к разработчикам программного обеспечения с предложением заработать на программах для Windows Phone 7. От программистов требуется выполнение следующих действий:

  1. Загрузить Microsoft Advertising SDK for Windows Phone 7. Это необходимо для использования специального элемента управления AdControl.
  2. Зарегистрировать свое мобильное приложение на Microsoft pubCenter. При этом программист получает два кода: AdUnitId и ApplicationId. Эти коды будут привязаны к элементу управления AdControl. Благодаря этим кодам можно будет в дальнейшем контролировать процесс скачивания приложений с Windows Phone Marketplace.
  3. Распространять свое приложение, снабженное элементов управления AdControl с кодами AdUnitId и ApplicationId.

Призыв компании из Редмонда был услышан. В настоящее время в Windows Phone Marketplace в общей сложности зарегистрировано более 42 000 разработчиков Windows Phone 7, которые уже разместили в этом магазине приложений более 17 000 программ и игр. Ежедневно ассортимент Windows Phone Marketplace увеличивается более чем на сотню новых приложений. Несмотря на то, что телефоны на базе Windows Phone 7 пока недоступны в России для конечных пользователей, локальные разработчики уже могут зарабатывать на приложениях для нее [31].

Сейчас процесс размещения программных продуктов и последующего получения прибыли является достаточно трудоемким. Это связано с особенностями российского и американского законодательств, бухгалтерского и налогового учетов. Разработчику необходимо заполнять большое количество документов, в частности, на английском языке. Благодаря заключенному соглашению разработчики могут заключить договор с компанией Softkey, которая берет на себя обязательства по размещению приложений в Windows Phone Marketplace и выплате разработчику полученной прибыли. Это значительно упрощает и ускоряет процесс "монетизации".

"Индустриальные аналитики едины во мнении, что к 2015 г. Windows Phone 7 станет второй по популярности мобильной платформой с долей рынка около 20%. И данное соглашение является нашим ответом на многочисленные просьбы разработчиков, которые хотят уже сейчас зарабатывать на быстро развивающейся мобильной платформе Microsoft, - сказал Николай Прянишников, президент Microsoft в России. - В настоящее время в Marketplace представлено около 200 приложений от российских разработчиков, что является очень хорошим показателем для платформы, пока еще не представленной на российском рынке. Стратегическое соглашение с Softkey открывает перед разработчиками из России и стран СНГ новые горизонты" [31].

"Мы рады расширению стратегического партнерства с Microsoft и подписанию соглашения, которое предоставляет разработчикам из России и стран СНГ новые возможности развития. Мы полагаем, что это позволит существенно увеличить объем российского рынка разработки мобильных приложений. Разработчики смогут встраивать в свое приложение, которое размещается в Marketplace, платежный модуль SKIAB (Softkey InApp Billing), который позволит покупателям оплатить приложение не только с помощью кредитных карт, являющихся сейчас стандартным платежным методом Windows Marketplace, но и любым удобным им методом (SMS, электронными деньгами или банковским переводом). Для пользователя это означает, прежде всего, удобство. А для наших авторов - возможность заработать на своих приложениях больше денег", - отметил Феликс Мучник, генеральный директор компании Softkey [31].

Приведем несколько цифр, характеризующих динамику дистрибуции приложений под Windows Phone 7.

  • прошел 1 год с момента анонса платформы разработки
  • 1.5 миллиона загрузок средств разработки (бесплатно)
  • 36000 зарегистрированных разработчиков ($99 в год, бесплатно для студентов)
  • 1200 новых разработчиков каждую неделю
  • 13000+ приложений в Marketplace
  • 7500+ платных приложений, 44% имеют trial-версию
  • 1100+ приложений с Ad Control
  • Монетизация успешнее, чем у многих конкурентов
  • 12 приложений на каждого пользователя
  • 1.8 дня в среднем идет сертификация
  • 62% проходят с первой попытки

Рассмотрим процесс интеграции элемента управления "AdControl" в свое приложение.

Для того, чтобы разместить в своем приложении элемент управления AdControl, вначале нужно установить Advertising SDK, который можно скачать по ссылке: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b0f00afc-9709-4cc2-ba2c-57728db6cbd6

После этого запускаем Microsoft Visual 2010 Express for Windows Phone и создаем новый проект. Назовем его Advertising.

Выбираем платформу Windows Phone 7.1


Далее, нам потребуется добавить элемент управления AdControl к панели инструментов. Для этого щелкаем правой кнопкой мыши по ранели инструментов и выбираем пункт Choose Items…


Ставим галочку напротив пункта AdControl.

Далее, нам потребуется добавить ссылку на библиотеку Microsoft.Advertising.Mobile.UI. Для этого потребуется выполнить следующую последовательность действий: Solution Explorer -> References -> Add Reference -> Microsoft.Advertising.Mobile.UI.


В самом начале файла MainPage.xaml добавьте строку:

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

После раздела ContentPanel потребуется добавить следующий код:

        <!--ContentPanel - place additional content here-->
            <ad:AdControl x:Name="AdBox" AdUnitId="Image480_80" ApplicationId="test_client" Margin="-12,528,-12,0"
  Width="480" Height="80" />
    

Наше приложение будет решать квадратное уравнение. Окончательный код файла MainPage.xaml будет таким:

<phone:PhoneApplicationPage 
    xmlns:ad="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI"
    x:Class="Advertising.MainPage"
    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"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--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" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Реклама" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="Двигатель торговли" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" 
             FontSize="36" />
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Canvas Name="cnv">
            <Button Name="bttn" Click="bttn_Click" Content="Нажми меня!" Canvas.Left="10" Canvas.Top="100" Width="220"
              Height="70" />
            <TextBox Name="txtA" Canvas.Left="250" Canvas.Top="100" Width="220" Height="70"  />
            <TextBox Name="txtB" Canvas.Left="250" Canvas.Top="180" Width="220" Height="70"  />
            <TextBox Name="txtC" Canvas.Left="250" Canvas.Top="260" Width="220" Height="70"  />
            <ContentControl Name="cnt" Canvas.Left="10" Canvas.Top="300" />
            <ad:AdControl x:Name="AdBox" AdUnitId="Image480_80" ApplicationId="test_client" Canvas.Top="690" Width="480"
              Height="80"/>
        </Canvas>
    </Grid>
</phone:PhoneApplicationPage>
    

Файл MainPage.xaml.cs:

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;

namespace Advertising
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void bttn_Click(object sender, RoutedEventArgs e)
        {
            double a, b, c, d, x1, x2;
            string str;
            a = System.Convert.ToDouble(txtA.Text);
            b = System.Convert.ToDouble(txtB.Text);
            c = System.Convert.ToDouble(txtC.Text);
            d = System.Math.Pow(b, 2) - 4 * a * c;
            if (d < 0) { str = "Действительных корней нет!"; }
            else { 
                x1 = (-b - System.Math.Sqrt(d)) / (2 * a); 
                x2 = (-b + System.Math.Sqrt(d)) / (2 * a);
                str = "x1 = " + x1 + "\nx2 = " + x2;
            }
            cnt.Content = str;
        }
    }
}
    

Запустим приложение:


Нам требуется задать два обязательных свойства: AdUnitId и ApplicationId. Значения обоих свойств можно получить, зарегистрировав приложение в Microsoft Advertising pubCenter, создав там новый Ad Unit (рекламную единицу) и задав все необходимые настройки [33].

Набираем в адресной строке браузера: https://pubcenter.microsoft.com/Login. Заходим на сайте Microsoft Advertising pubCenter:

Регистрируемся и задаем имя и тип рекламного баннера для нашего приложения:

Указываем область применения нашего приложения.

Далее, получаем ApplicationID и UnitID.

После создания рекламной единицы, скопируем значения "AdUnitId" и "ApplicationId" в pubCenter, и зададим их в нашем элементе управления. Код будет выглядеть примерно так:

<ad:AdControl x:Name="AdBox" AdUnitId="10020184" ApplicationId="c0ffcc0e-5cd0-4fce-8858-70f3003b634d" Canvas.Top="690" 
 Width="480" Height="80"/>
    

Добавив рекламный элемент управления в приложение (предположим, что приложение используется реальными людьми), Вы начнёте замечать активность в pubCenter. Кроме того, в pubCenter можно найти несколько метрик, самой главной из которых для Вас является, конечно же, "Revenue" - доход [33].

< Практическая работа 28 || Практическая работа 29