Контракты и расширения приложений

Контракты и расширения приложений (приложения среды выполнения Windows)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

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

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

Рассмотрим, например, обмен информацией между двумя приложениями. Приложение, предоставляющее содержимое, поддерживает контракт источника данных, отвечая определенным требованиям, а приложение, которое получает доступ к общему содержимому, поддерживает контракт получателя данных, отвечая другому набору требований. Оба приложения не нуждаются в информации друг о друге. Для каждого приложения, участвующего в контракте отправки данных, гарантируется полная поддержка общего доступа.

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

Используйте манифест пакета для объявления расширений. Например, приложение может объявить, что оно обрабатывает файлы с определенными расширениями или использует определенную библиотеку динамической компоновки (DLL). В Microsoft Visual Studio откройте вкладку "Объявления". Если вы создаете пакет вручную, см. Extensions element.

В следующих разделах описаны различные контракты и расширения для встроенного приложения.

Поставщик изображений для учетных записей (расширение)

Решив сменить аватар, пользователь может выбрать уже существующее изображение или создать новое при помощи какого-либо приложения. Если ваше приложение умеет получать и сохранять фотоснимки с веб-камеры, вы можете использовать это расширение, чтобы добавить приложение в меню "Параметры аватара" в панели управления. Из этого списка пользователь может выбрать ваше приложение для создания нового аватара.

Подробнее см. в справочном разделе UserInformation. Также можно ознакомиться с разделом Образец имени для аватара.

Будильник

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

Служба приложений

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

Поставщик встреч

Предоставляет приложению возможность взаимодействовать с API календаря и создавать встречи.

Автозапуск (расширение)

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

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

Фоновые задачи (расширение)

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

В Конструкторе манифестов Visual Studio доступны перечисленные ниже типы фоновых задач.

Тип задачиПрименимо к:XAMLHTMLДополнительные сведения
ЗвукПрименяется к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Воспроизведение звука в фоновом режиме (только в Windows), Обзор: фоновый звуковой файл для Windows Phone
Системное событиеОтносится к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Реагирование на системные события с помощью фоновых задач
ТаймерОтносится к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Запуск фоновой задачи по таймеру
Push-уведомлениеОтносится к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Отправка push-уведомлений с помощью WNS
МестонахождениеОтносится к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Краткое руководство: ожидание событий геозоны в фоновом режиме
Триггер использования устройстваОтносится к Windows и Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML Доступ к датчикам и устройствам из фоновой задачи
Канал управленияОтносится только к WindowsОтносится к C#/C++/VB и XAMLНе относится к JavaScript и HTML Создание приложения, использующего сетевые триггеры в фоновом режиме, на экране блокировки
Уведомление о сообщении в чатеОтносится только к Windows PhoneОтносится к C#/C++/VB и XAMLОтносится к JavaScript и HTML
Важно  Данный тип фоновой задачи недоступен во всех приложениях Магазина Windows Phone. Если ваша учетная запись разработчика специально не создана Microsoft, вызовы этих API будут отклонены во время выполнения.
 

 

Задача обновления (расширение)

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

Подробнее об этом расширении: Как использовать задачу обновления.

Контракт обновления кэшированных файлов

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

Подробнее см. в статье об интеграции с контрактами средства выбора файлов и разделе Краткое руководство: интеграция с контрактами средства выбора файлов.

Параметры камеры (расширение)

Используя приложение Магазина Windows для устройства, производители устройств могут настраивать всплывающий элемент, в котором отображаются дополнительные параметры камеры. Всплывающий элемент Дополнительные параметры может отображаться с приложениями, которые используют класс CameraCaptureUI для фотосъемки. Дополнительные сведения см. в разделе о настройке параметров камеры в приложениях Магазина Windows для устройства.

Протокол DIAL

Если вы используете сетевое устройство, то можете применять протокол DIAL для запуска приложений на Xbox One. Если приложение, которое необходимо запустить, недоступно, с помощью сети DIAL можно даже установить это приложение, чтобы потом запустить его.

Активация файла (расширение)

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

См. Обработка активации файла.

Контракт выбора файлов в окне открытия

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

Участие в этом контракте поможет повысить популярность приложения. Подробнее см. в статье об интеграции с контрактами средства выбора файлов.

Контракт выбора файлов в окне сохранения

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

Участие в этом контракте поможет повысить популярность приложения. Подробнее см. в статье об интеграции с контрактами средства выбора файлов.

Совершение вызова с экрана блокировки

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

Воспроизведение мультимедиа

Приложения Магазина Windows должны поддерживать этот контракт, чтобы показать, что они поддерживают воспроизведение DVD-дисков.

Контракт "Воспроизведение на устройстве"

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

Участие в этом контракте делает приложение более удобным, и ваши пользователи будут дольше им пользоваться. Подробнее см. в разделе Потоковая передача мультимедиа на устройства с помощью функции "Воспроизвести на".

Предустановленные задачи настройки конфигурации

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

Рабочий процесс трехмерной печати

Изготовители 3D-принтеров могут предоставлять приложения Магазина Windows для устройства, чтобы обеспечить уникальные возможности трехмерной печати. Если таких приложений нет, Windows обеспечит стандартные возможности трехмерной печати.

Параметры задачи печати (расширение)

Используя приложение Магазина Windows для устройства, производители устройств могут настраивать всплывающий элемент, в котором показываются дополнительные параметры печати. Дополнительные сведения см. в разделе о настройке параметров печати в приложениях Магазина Windows для устройства.

Активация URI (расширение)

В приложении можно использовать существующие схемы URI (например, mailto) или создать собственную схему URI. Расширение активации URI позволяет определить собственную схему URI или зарегистрировать существующую схему URI для обработки.

См. раздел Обработка активации URI.

Запуск с ограничениями

Дочерние контейнеры приложений обеспечивают дополнительный уровень изоляции в среде выполнения, при этом можно обрабатывать ненадежное содержимое с помощью приложения Магазина Windows. Это позволяет приложению защитить себя от ненадежного содержимого. Например, Microsoft Word может защитить ресурсы пользователя от редактируемых в нем документов.

Контракт "Поиск"

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

Участие в этом контракте поможет вам увеличить трафик и использование приложения. Подробнее: Добавление поиска в приложение.

Контракт "Параметры"

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

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

Контракт отправки данных

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

Участие в этом контракте поможет вам увеличить трафик и использование вашего приложения. Подробнее см. в разделе Добавление общего доступа.

SSL/сертификаты (расширение)

Цифровые сертификаты используются для проверки подлинности одного субъекта другим. Например, сертификаты часто используются для проверки подлинности пользователя в веб-службе по протоколу SSL. Это расширение позволяет вам установить цифровой сертификат вместе с вашим приложением.

См. Шифрование данных и работа с сертификатами.

Поставщик учетных веб-записей

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

 

 

Показ:
© 2016 Microsoft