Разработка приложений для Windows Phone 7

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

Показывать лекцию целиком

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

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

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

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

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

    Для того, чтобы разместить в своем приложении элемент управления

    После этого запускаем 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].

    Вернуться к учебному плану