Публикация приложения в Windows Store

в 12:49, , рубрики: microsoft, store, windows, магазин, публикация, сертификация, метки: , , , , ,

Привет.

Меня зовут Алексей Цветков-Омеличев, и я — эксперт по Windows 8 в Microsoft.
Сегодня, я хотел бы поделиться с вами своим опытом публикации приложения в Windows Store и рассказать о некоторых особенностях сертификации и публикации.

Об особенностях регистрации учетной записи разработчика Windows Store я рассказывать не буду, потому как об этом уже писали не раз. Например, здесь.

Дикое желание попробовать опубликовать свою игру меня охватило в начале июня.
Естественно, я просто не мог не использовать возможность получить ранний доступ в магазин Windows через AEL (Application Excellence Labs) — лабораторные, которые проходили почти постоянно. После прохождения двух таких лабораторных я получил ключ для регистрации и мог заняться публикацией.

Предположим, что вы также уже разработали свое приложение, зарегистрировались в Windows Store и готовы к публикации приложения. Напомню, что не так давно был открыт доступ к бесплатной регистрации в магазине для студентов через DreamSpark, поэтому, тем, кто не заметил этого объявления, я настоятельно рекомендую получить ключ здесь: Dreamspark.

Манифест приложения

Итак, очень важно понимать, что перед публикацией приложения в магазин, нужно правильно настроить его манифест. Это — самая важная вещь в вашем приложении (кроме самого приложения, конечно), которой нужно уделить особое внимание.

Интерфейс приложения

Открываем файл package.appxmanifest в проекте и на первой вкладке «Интерфейс приложения» видим следующее:
Публикация приложения в Windows Store

Здесь необходимо указать имя вашего приложения, входную точку при его запуске, доступные языки, поддерживаемые ориентации и все изображения, которые будут использоваться приложением. Это и значок на плитке (широкий и/или мелкий) и splashscreen, который отображается при запуске приложения и др.
Напротив каждого поля указаны также необходимые размеры. Эти изображения должны быть подогнаны именно под эти размеры, иначе манифест их просто не примет.

Возможности

Публикация приложения в Windows Store

Здесь нужно указать все, что приложению необходимо для корректной работы. Это также потребуется для успешного прохождения WACK (об этом чуть позже) и для успешного прохождения сертификации приложения в магазин.
В моем случае игра использует только подключение к сети Интернет, для того, чтобы синхронизировать игровой прогресс с учетной записью Microsoft пользователя. Поэтому на этой вкладке у меня стоит только одна галочка напротив пункта «Интернет (клиент)».

Упаковка

Публикация приложения в Windows Store

Это самая важная вкладка в манифесте. Именно в ней указывается информация о привязке приложения в магазину и использовании сертификата (тестового или зарегистрированного в Windows Store).

Тестовый сертификат приложения

Для того, чтобы можно было протестировать приложение на своем комьютере или отправить другому человеку в виде пакета установки, можно создать тестовый сертификат, который не будет привязан к вашей учетной записи в Windows Store.

Публикация приложения в Windows Store

В этом случае в проекте появится новый файл сертификата AppName_TemporaryKey.pfx, который и позволит пользоваться приложение в тестовом режиме. В этом случае будут недоступны возможности реальной покупки приложения или инапов, но этот вопрос решается эмулированием покупки при разработке приложения. Об этом много ресурсов на MSDN.

Подготовка к публикации в магазин Windows

Итак, приложение готово, учетная запись зарегистрирована. Начинаем работу по публикации в магазин.
Первым делом, идем в Интернет на портал разработчиков Windows 8 в Информационную панель приложений по ссылке:
appdev.microsoft.com/StorePortals/ru-ru

Если вы никогда раньше не публиковали приложение в Windows Store, то эта страничка будет выглядеть примерно так…

Публикация приложения в Windows Store

… только в ней не будет двух приложений, как у меня.

Выбираем слева в меню «Отправить приложение» и подготавливаем магазин к загрузке.

Публикация приложения в Windows Store

На данный момент важен только один пункт — Имя приложения. Нужно в него перейти и зарезервировать новое имя для своего приложения. Или несколько, если вы планируете публиковать его в магазинах разных стран, и одного имени для этого недостаточно.

Возвращаемся в Visual Studio к приложению

Теперь, когда мы зарезервировали новое имя для нашего будущего приложения, пора связать его с нашим реальным приложением и получить сертификат из Windows Store.
В контекстном меню проекта (в моем случае Baller) выбираем пункт меню «Магазин» — «Связать приложение с Магазином..».

Публикация приложения в Windows Store

После этого нам предложат войти под своей учетной записью разработчика для магазина Windows.

Публикация приложения в Windows Store

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

Публикация приложения в Windows Store

В моем случае это окно пусто, поскольку для моего приложения уже раньше были загружены пакеты, а здесь отображаются только «чистые» еще не загруженные приложения. Чтобы я мог связать свое обновленное приложение с тем, что у меня в магазине, мне нужно поставить галочку напротив «Включать имена приложений, для которых уже есть пакеты». Нажимаем «Далее», затем «Связать».
После этой процедуры в проекте появится еще один сертификат AppName_StoreKey.pfx и файл Package.StoreAssociation.xml, в котором дополнительно содержится вся необходимая информация для магазина по стоимости приложения и удовлетворению минимальных требований для публикации в различных странах.

Создание пакета приложения

Следующий шаг — создание пакета приложения, который потребуется для загрузки в магазин.
Вызываем контекстное меню проекта, выбираем «Магазин» — «Создать пакеты приложения..».

Публикация приложения в Windows Store

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

IMP: на будущее, всегда помните, что версия приложения, указанная на этом шаге должна быть обязательно выше версии пакета, уже загруженного в магазин Windows. Также есть некоторые нюансы:
Версия приложения выглядит примерно так: 1.0.0.0. Помните, что пользователи увидят обновление в магазине, только если увеличилась, как минимум, вторая цифра слева (например 1.1.0.0). Третья цифра обозначает номер сборки, четвертая — номер редакции. Если в магазине загружен пакет с номером 1.0.0.0, а вы публикуете пакет 1.0.0.1, то для того, чтобы пользователь увидел изменения, ему нужно будет удалить приложение и загрузить его снова из магазина Windows. Только так. Простыми словами: первые две цифры — для покупателей, вторые две — для разработчиков. Помните это!

Windows Application Certification Kit (WACK)

Нажимаем «Создать». После нажатия на эту кнопку Visual Studio соберет проект в режиме Release и появится окно о том, что пакет успешно создан и дальше можно будет выбрать: или закрыть это окно, или проверить приложение с помощью сертификационной утилиты WACK (Windows App Cert Kit), о которой я говорил раньше.

Публикация приложения в Windows Store

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

После выбора «Запустить WACK» желательно отойти от компьютера на какое-то время и пойти, например, выпить кофе. Проверка занимает около 5 минут, в течение которых приложение будет иногда запускаться, и какие-либо действий с ним в этот момент выполнять категорически запрещены. Любое взаимодействие с ним или высокая нагруженность процессора во время работы WACK'а может зафейлить проверку. По личному опыту скажу, что однажды, я не прошел WACK потому что моя игра на слабом компьютере запустилась на за 5 секунд, а за 5,007. Пришлось доделывать, потому что НЕ прохождение WACK — это абсолютная гарантия того, что приложение НЕ пройдет в магазин.

После выполнения проверки приложения и глотка кофе, можно порадоваться результату и подготовиться к последнему шагу…

Публикация приложения в Windows Store

… или погрустить немного…

Публикация приложения в Windows Store

… и посмотреть подробный отчет о том, что не так в приложении и подумать, как это можно исправить.

Публикация приложения в Windows Store

Публикация в магазин Windows

Итак, пакеты приложения собраны, WACK успешно пройден, осталось пройти последнюю стадию — сертификацию приложения в магазин Windows.

Первый пункт из списка (Имя приложения), насколько вы помните, мы уже прошли. Осталось заполнить остальные. Все по-порядку:

Сведения о продажах

Здесь нужно указать стоимость приложения, пробный период (если приложение платное), страны, где вы хотите опубликовать приложение, категорию, и также необходимые требования к оборудованию, если это — игра.

Дополнительные возможности

Здесь указываются возможности подключения приложения к службам Live Connect и push-уведомления, а также создание кодов продукта и их стоимость для покупки инапов.

Возрастная оценка и сертификаты оценки

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

Шифрование

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

Пакеты

Важнейший пункт при заполнении формы приложения — это «Пакеты». На этой странице нужно загрузить созданные вами ранее пакет приложения (файл с расширением .appxupload). Магазин автоматически проверит его и загрузит информацию о языках приложения, поддержки разных архитектур процессора, сертификаты привязки к магазину и версию приложения. Пакет с меньшей версией, чем тот, который уже был сертифицирован ранее, загружен не будет.

Описание

Пожалуй, самый важный пункт после загрузки пакета — это «Описание». Если вы создали многоязычное приложение, то вам необходимо будет заполнить две формы на обоих поддерживаемых приложением языках. Выбор разноязычных форм появляется автоматически после проверки загруженного пакета.
Для каждого языка необходимо заполнить описание, возможности приложения, описание обновления (если это обновление ранее загруженного приложения), сведения об авторских правах, контактную информацию и хотя бы один снимок экрана для отображении в магазине Windows.

IMP: еще один очень важный момент. Если у вас многоязычное приложение, то в каждую форму нужно ОБЯЗАТЕЛЬНО загрузить снимок экрана на том, языке, на котором заполняется анкета! Например, моя игра Baller локализована на русский и английский языки, и при заполнении анкеты в английской форме я загрузил снимок игры работающей на английском языке, а при заполнении русской — на русском.

Дальше, необязательно, но крайне желательно, если вы делаете хорошее приложение, которое предназначено для широкой публики, то укажите изображения для рекламной акции, которые будут отображаться в виде прямоугольных и квадратных плиток в приложении Windows Store. Разрешения там также указаны.
Вы также можете указать дополнительно рекомендуемое оборудование, которое будет отображаться на странице сведений приложения, веб-сайт и обязательно контактные данные службы поддержки (e-mail), которые пользователи смогут использовать, чтобы написать свои предложения, пожелания и благодарности.

Последним пунктом стоит также «Политика конфиденциальности», на который я также хотел бы обратить внимание. Если ваше приложение ходит в Интернет, неважно зачем, будь то синхронизация данных или чтение RSS с какого-либо портала, нужно необходимо создать страничку в интернете с описанием того, что вы не берете данные пользователя и не распространяете их. Такой же пункт должен быть обязательно в самом приложении в настройках. Как вы знаете, есть такие чудо-кнопки, которые всегда находятся в правом меню. Вот при нажатии «Настройки» в вашем приложении, пользователь должен обязательно увидеть пункт «Privacy Policy» или «Политика конфиденциальности», которая хорошо, если ведет на ту же самую страницу.
Пример моей такой странички, можете посмотреть здесь.

Финал

После того, как вы заполните все поля (важно пройтись ОБЯЗАТЕЛЬНО по всем пунктам, чтобы везде стояли галочки) можно выбрать пункт «Отправить на сертификацию», после чего вам на e-mail придет письмо о начале сертификации и приложение появится в информационной панели и вы сможете отслеживать состояние сертификации:

Публикация приложения в Windows Store

Первые три пункта обычно проходят в течение нескольких часов, а вот четвертый занимает действительно много времени. На этом пункте за дело берется специальный человек-тестер, который первым делом проверяет приложение средствами WACK. Если оно его не проходит, приложение автоматически фейлится и возвращается вам на доработку с указанием ошибок. Так что, повторюсь: «Обязательно проверяйте паке средствами WACK, чтобы сэкономить себе драгоценные часы сертификации».

Если с приложением все хорошо и тестер его одобряет, приложение подготавливается к выпуску, создается уникальная страница приложения в интернете для всех стран, и затем оно публикуется в магазин.
Какое-то время страница возможно будет недоступна, это нормально.
Вот пример моей игры Baller в Интернете
— на русском: apps.microsoft.com/webpdp/ru-ru/app/baller/21c45e96-db83-4dad-9221-95c79fed713d
— и на английском: apps.microsoft.com/webpdp/en-us/app/baller/21c45e96-db83-4dad-9221-95c79fed713d

После публикации через несколько дней для вас будет доступна статистика загрузок, использования, частоты ошибок, оценок, рейтингов и комментариев приложения в таком виде…

Публикация приложения в Windows Store

… и наслаждаться великолпными комментариями от зарубежных коллег, волнительно переводить комментарии с китайского с каждый день обновлять страничку и радоваться статистике.

Почти все..

Я постарался рассмотреть достаточно тривиальный случай публикации приложения. Надеюсь, у вас не возникнет сложностей, с публикацией, помимо тех, на которых я заострил внимание (хотя, конечно, возникнут, без этого не бывает).
В Microsoft очень ждут от вас прекрасных приложений, и я желаю вам удачи при разработке и сертификации.

Конец

Пользуясь случаем, хочу немного дополнить пост своим опытом. Я считаю, что сейчас самое время публиковать приложения в магазин потому что:
— еще мало приложений
— сертифицируются быстрее, чем после 26 октября (запуск Windows 8)
— хорошая возможность занять нужную нишу

До открытия магазина студентом, моя игра проходила сертификацию обновления за 1,5 часа!!!
Сейчас дольше, после 26 октября будет намного дольше, так что не теряйся времени и публикуйте!

Baller

Публикация приложения в Windows Store

Моя игра, как я уже сказал прошла App Excellence Labs и через месяц, при невыпущенной Windows 8 получила уже около 10 000 уникальных загрузок и среднюю оценку по России 4.7, чему я очень рад!
Приятный момент также, что игра получила от Microsoft красивую ссылку: aka.ms/baller

А еще мне очень нужны люди в команду:
Вся информация о моих проектах и возможности работать вместе со мной есть здесь:
AppsFusion ВКонтакте
AppsFusion Facebook
AppsFusion Twitter
… или на сайте AppsFusion Twitter
Только сразу скажу, я студент и платить не могу, но можем делить доход с продаж приложений/игр :)

Все вопросы лично мне можно задавать сюда:
ВКонтакте
Facebook
Twitter
… и на почту: it@outlook.com

И последний момент: если вы — студент и опубликовали свое приложение в Windows Store, пожалуйста, не поленитесь, заполните анкетку на bit.ly/app4winstore. Это важно именно для меня.

Спасибо за внимание!

Автор: itdevelop


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js