Опубликован: 22.12.2012 | Доступ: свободный | Студентов: 480 / 19 | Длительность: 07:20:00
Лекция 13:

Публикация приложений. Расширенное взаимодействие с облачными интерфейсами

< Лекция 12 || Лекция 13: 123 || Лекция 14 >
Аннотация: В лекции рассматривается способы расширения функционала информационных систем при взаимодействии с облачными решениями Майкрософт - MS Live, Hotmail, SkyDrive.

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

Первым делом необходимо определиться с возможностями приложения. Если приложение будет получать доступ к ресурсам пользователя, аппаратным возможностям платформы и внешним устройствам, то возникает необходимость указать все требуемые возможности в манифесте приложения. Для этого можно воспользоваться редактором манифеста и выбрать все необходимые возможности на вкладке Capabilities. Если Вы решили редактировать файл манифеста в обычном текстовом редакторе, можно воспользоваться одноименным разделом:

<Capabilities>
<Capability Name="internetClient" />
<DeviceCapability Name="webcam" />
</Capabilities> 

Рассмотрим, какие возможности можно указать в редакторе манифеста и для чего они используются:

  • Documents Library (documentsLibrary) - мы писали об этой возможности в прошлой главе. Библиотека Documents является одним из хранилищ, ссылку на которое можно получить через класс KnownFolders. При этом программный доступ к файлам можно получить только в том случае, если их типы (расширения) заявлены в виде расширения File Type Associations, которое устанавливается в том же манифесте. Это сделано специально, чтобы приложение не могло перебирать все типы файлов и каким-то образом вредить пользователю;
  • Music Library (musicLibrary) - эта возможность позволяет получить доступ к библиотеке Music;
  • Pictures Library (picturesLibrary) - эта возможность позволяет получить доступ к библиотеке Pictures;
  • Videos Library (videosLibrary) - эта возможность позволяет получить доступ к библиотеке Videos;
  • Microphone (microphone) - позволяет получить доступ к микрофону;
  • Webcam (webcam) - пример работы этой возможности представлен в главе, в которой описана работа с медиа. Позволяет получить доступ к камере;
  • Removable Storage (removableStorage) - позволяет получить программный доступ к файлам на внешних устройствах. При этом принцип работы такой же, как и для Documents библиотеки - доступны только файлы заявленных расширений;
  • Location (location) -- позволяет получить доступ к механизмам определения местоположения пользователя (через сеть оператора, WiFi или GPS датчик);
  • Proximity (proximity) - эта возможность позволяет взаимодействовать с другими устройствами, находящимися в непосредственной близости. При этом может использоваться Bluetooth, Wi Fi или прямое подключение через кабель;
  • Internet and public networks (internetClient и internetClientServer) - возможность позволяет использовать исходящее соединение (или входящее и исходящее) для взаимодействия с сервером;
  • Text messaging or SMS (sms) - предоставляет программный доступ к устройству, которое может отправлять SMS;
  • Domain credentials (enterpriseAuthentication) - эта возможность позволяет взаимодействовать с ресурсами в корпоративном окружении, используя данные аутентификации пользователя;
  • Home and work networks (privateNetworkClientServer) - позволяет получить доступ к домашней сети (ресурсам, которые открыты для доступа);
  • Certifi cates (sharedUserCertifi cates) - предоставляет доступ к сертификатам пользователя.

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

  • Account Picture Provider - это расширение позволяет использовать приложение для установки изображения, ассоциированного с профилем прользователя. Это можно делать только в том случае, если приложение позволяет создавать изображения с помощью камеры и дополняет его какими-то эффектами;
  • AutoPlay Content - если Ваше приложение позволяет работать с контентом, размещенном на DVD носителях, картах памяти и т. д., то данное расширение можно использовать для отображения приложения в списке, отображаемом при вставке нового носителя;
  • AutoPlay Device - у пользователя появляется возможность активировать приложение при подключении нового внешнего устройства;
  • Background Tasks - это расширение позволяет указать имя библиотеки в приложении (точку входа), чтобы обеспечить запуск одной или нескольких задач в фоне;
  • Camera Settings - позволяет приложению заменить стандартное окно настроек камеры своим собственным;
  • Certificates - позволяет приложению установить сертификат, чтобы использовать его для внутренних целей;
  • Contact Picker - регистрирует Ваше приложение как один из источников контактов, предоставляя к ним доступ из других приложений;
  • File Open Picker - регистрирует Ваше приложение как источник файлов для других приложений;
  • File Save Picker - регистрирует возможность приложения принимать внешние файлы для последующей работы в стандартном режиме (после запуска);
  • File Type Associations - позволяет настроить типы файлов, с которыми приложение ассоциировано;
  • Game Explorer - регистрирует рейтинг приложения, который используется в службе родительского контроля Windows и позволяет родителям блокировать доступ к некоторым приложениям для детей;
  • Print Task Settings - позволяет приложение заменить стандартное окно по настройке печати своим собственным;
  • Protocol - регистрирует URL-протокол, используемый приложением:
  • Search - регистрирует приложение как предоставляющее механизм поиска, который интегрируется с панелью операционной системы;
  • Share Target - настроив эту декларацию, можно сделать приложение потенциальным потребителем данных, которые предоставляют другие приложения через пункт Share.

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

Подписание пакета

После создания пакета его необходимо подписать сертификатом, чтобы гарантировать его целостность и принадлежность организации или пользователю. Сертификат генерируется автоматически, если используете Visual Studio, но можете использовать и свой сертификат. Для этого можно воспользоваться вкладкой Packaging редактора манифеста:


Рис. 12.1.

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

Локализация манифеста

В одной из лекций рассматривали, как можно локализовать приложение. Логично, что, если мы поставляем приложение на разные рынки, то необходимо локализовать не только контент, но и манифест приложения, ведь он содержит заголовок, описание и другие параметры, которые могут зависеть от страны происхождения приложения, выбранной пользователем. Манифест приложения локализуется очень просто - достаточно внести в манифест ссылку на ресурсы:

<Properties>
<Property>
<DisplayName>ms-resource:dName</DisplayName>
<Description>ms-resource:dDescription</Description>
<Logo>tile.png</Logo>
</Property>
</Properties> 

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

Тестирование пакета

Тестирование приложения можно разбить на несколько этапов. Но одним из завершающих этапов является использование утилиты Windows App Certification Kit, которая устанавливается вместе с Windows 8 SDK. Данная утилита позволит проверить приложение в автоматическом режиме по многим параметрам (начиная от времени запуска и заканчивая списком возможностей) и это первое, что будет делаться, когда приложение отправится на сертификацию.

Запустив утилиту, можно увидеть, что она достаточно функциональна. Но все таки, необходимо выбирать раздел Validate Metro style App:


Рис. 12.2.

Утилита сама найдет установленные приложения в Вашей системе (Launch- контракт) и предложит протестировать одно из них:


Рис. 12.3.

После этого утилита начинает многократно запускать Ваше приложение и собирать статистику. В конечном итоге Вы должны получить отчет о том, готово ли ваше приложение к публикации или нужно поработать над устранением проблем:


Рис. 12.4.
< Лекция 12 || Лекция 13: 123 || Лекция 14 >