Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы отобразиться в узле мини-приложений, приложения, поддерживающие мини-приложения Windows, должны зарегистрировать своего поставщика мини-приложений в системе. Для приложений Win32 в настоящее время поддерживаются только упакованные приложения, а поставщики мини-приложений указывают сведения о регистрации в файле манифеста пакета приложения. В этой статье описан формат XML для регистрации мини-приложений. См. раздел "Пример" для описания кода примера манифеста пакета для поставщика мини-приложений Win32.
Расширение приложения
Файл манифеста пакета приложения поддерживает множество различных расширений и функций для приложений Windows. Формат манифеста пакета приложения определяется набором схем, которые описаны в Справочнике по схеме манифеста пакета. Поставщики мини-приложений объявляют свои сведения о регистрации в uap3:AppExtension. Атрибут Name расширения должен иметь значение com.microsoft.windows.widgets.
Поставщики мини-приложений должны включать uap3:Properties в качестве дочернего элемента uap3:AppExtension. Схема манифеста пакета не накладывает требований к структуре элемента uap3:Properties, кроме требования, чтобы XML был правильно сформирован. Далее в этой статье описывается формат XML, который ожидает хост мини-приложения и который необходим для успешной регистрации поставщика мини-приложений.
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.widgets" DisplayName="WidgetTestApp" Id="ContosoWidgetApp" PublicFolder="Public">
<uap3:Properties>
<!-- Widget provider registration content goes here -->
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
Иерархия элементов
WidgetProvider
ProviderIcons
Значок
Активация
CreateInstance
Активировать приложение
Определения
Определение
Возможности
Возможность
Размер
ThemeResources
Значки
Значок
Снимки экрана
Снимок экрана
Тёмный режим
Значки
Значок
Снимки экрана
Снимок экрана
LightMode
Значки
Значок
Снимки экрана
Снимок экрана
WidgetProvider
Корневой элемент регистрационных данных поставщика виджета.
WidgetProviderIcons
Задает значки, представляющие приложение поставщика мини-приложений.
Активация
Указывает сведения об активации для поставщика виджетов. Если в манифесте указаны как CreateInstance, так и ActivateApplication, CreateInstance имеет приоритет.
CreateInstance
CreateInstance следует указать для поставщиков мини-приложений на основе Win32, реализующих интерфейс IWidgetProvider . Система активирует интерфейс с вызовом CoCreateInstance. Атрибут ClassId указывает CLSID для сервера CreateInstance, реализующего интерфейс IWidgetProvider.
| Атрибут | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| ClassId | GUID | Да | CLSID для сервера CreateInstance, реализующего поставщика мини-приложений. | Н/П |
Активировать приложение
Если указано ActivateApplication, поставщик виджета активируется через командную строку, а аргументы передаются в виде закодированных в base64url строк JSON. Рекомендуется, чтобы поставщики мини-приложений использовали тип активации CreateInstance . Сведения о формате командной строки ActivateApplication см. в разделе «Протокол ActivateApplication поставщика мини-приложений».
Определения
Контейнерный элемент для одной или нескольких регистраций виджетов.
Определение
Представляет собой регистрацию для одного виджета.
| Атрибут | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| Id | строка | Да | Идентификатор, определяющий мини-приложение. Это значение также отображается на панели навигации средства выбора мини-приложений. Реализации поставщика виджетов используют эту строку, чтобы определить или указать, какой из виджетов приложения имеется в виду в каждой операции. Эта строка должна быть уникальной для всех мини-приложений, определенных в файле манифеста приложения. | Н/П |
| Отображаемое имя | строка | Да | Имя мини-приложения, отображаемого на узле мини-приложений. | Н/П |
| Description | строка | Да | Краткое описание мини-приложения. | Н/П |
| AllowMultiple | boolean | Нет | Установите значение false, если поддерживается только один экземпляр этого мини-приложения. Этот атрибут является необязательным, а значение по умолчанию — true. | true |
| IsCustomizable | boolean | Нет | Представлено в пакете SDK для приложений Windows 1.4. Установите значение true, если ваше приложение поддерживает настройку виджетов. Это приводит к отображению кнопки "Настройка мини-приложения" в меню с многоточием мини-приложения. | false |
| ДополнительныйInfoUri | строка | Нет | URI, который можно связать с мини-приложением и использовать, когда пользователь щёлкает по строке заголовка фрейма мини-приложения или по элементу Powered by в его контекстном меню. | Н/П |
| Исключенные регионы | строка | Нет | Список регионов, где мини-приложение не должно быть доступно. Мини-приложения могут указывать ExcludedRegions или ExclusiveRegions, но не должны указывать оба свойства в определении одного мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. | Н/П |
| ExclusiveRegions | строка | Нет | Список только тех регионов, в которых должен быть доступен виджет. Мини-приложения могут указывать ExcludedRegions или ExclusiveRegions, но не должны указывать оба свойства в одном определении мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. | Н/П |
| WebRequestFilter | строка | Нет | Указывает фильтр, который определяет URL-адреса запросов ресурсов, для которых запрос будет перехвачен и перенаправлен на реализацию поставщика виджетов IWidgetResourceProvider.OnResourceRequested. Шаблон фильтра задаётся в формате, который описан в шаблонах сопоставления. При необходимости строка фильтра в регистрации должна использовать Punycode. Строка фильтра должна соответствовать источнику, откуда осуществляется регистрация мини-приложения, указанного в поле webUrl в содержимом адаптивной карточки. | Н/П |
Возможности
Необязательно. Задает возможности для одного мини-приложения. Если возможности не объявлены, по умолчанию добавляется одна возможность, указывающая размер "большой".
Возможность
Задает возможность виджета.
Размер
Указывает поддерживаемые размеры связанного мини-приложения.
| Атрибут | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| Имя | строка | Да | Указывает поддерживаемый размер мини-приложения. Значение должно быть одним из следующих значений: "small", "средний", "большой" | Н/П |
ThemeResources
Задает ресурсы темы для мини-приложения.
Значки
Элемент контейнера для одного или нескольких элементов Icon .
Значок
Обязательный. Указывает значок, отображаемый в области атрибуции мини-приложения.
| Атрибут | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| Путь | строка | Да | Относительный путь пакета к файлу изображения значка. | Н/П |
Снимки экрана
Обязательный. Указывает один или несколько снимков экрана мини-приложения.
Снимок экрана
Обязательный. Указывает снимок экрана для мини-приложения. На этом снимке экрана показано окно контейнера мини-приложений в диалоговом окне «Добавить мини-приложения», когда пользователь выбирает мини-приложения для добавления в контейнер мини-приложений. Если вы предоставите снимок экрана для необязательных элементов DarkMode или LightMode, перечисленных ниже, хост виджетов будет использовать снимок экрана, соответствующий текущей теме устройства. Если вы не предоставляете снимок экрана для текущей темы устройства, будет использоваться изображение, предоставленное в этом элементе снимка экрана . Сведения о требованиях к оформлению снимков экрана и правилах именования локализованных снимков экрана см. в разделе Интеграция со средством выбора мини-приложений.
| Атрибут | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| Путь | строка | Да | Относительный относительно пакета путь к файлу изображения снимка экрана. | Н/П |
| DisplayAltText | строка | Нет | Альтернативный текст для изображения, для обеспечения доступности. | Н/П |
Тёмный режим
Необязательно. Указывает ресурсы темы для того, когда на устройстве активен темный режим. Если в необязательном элементе DarkMode указать одно или несколько изображений снимков экрана, хост мини-приложений будет выбирать эти снимки экрана, если на устройстве включен темный режим. Если вы не предоставите изображение для тёмного режима, хост виджетов будет использовать обязательный элемент верхнего уровня Снимок экрана, описанный выше. Сведения о требованиях к оформлению снимков экрана и правилах именования локализованных снимков экрана приведены в разделе Интеграция со средством выбора мини-приложений.
LightMode
Необязательно. Указывает ресурсы темы для того, когда на устройстве активен световый режим. Если вы укажете одно или несколько изображений снимков экрана в необязательном элементе LightMode, хост виджетов будет выбирать эти снимки экрана, когда устройство находится в светлом режиме. Если вы не предоставите изображение для светлой темы, хост виджетов будет использовать обязательный корневой элемент Снимок экрана, описанный выше. Сведения о требованиях к оформлению снимков экрана и правилах именования локализованных снимков экрана см. в разделе Интеграция со средством выбора мини-приложений.
Пример
В следующем примере кода показан формат XML манифеста пакета мини-приложения.
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.widgets" DisplayName="Widget Test App" Id="ContosoWidgetApp" PublicFolder="Public">
<uap3:Properties>
<WidgetProvider>
<ProviderIcons>
<Icon Path="Images\StoreIcon.png" />
</ProviderIcons>
<Activation>
<!-- App exports COM interface which implements IWidgetProvider -->
<CreateInstance ClassId="XXXXXXXX-XXXX-XXXX-XXXX-D3397A3FF15C" />
</Activation>
<Definitions>
<Definition
Id="Weather_Widget"
DisplayName="Microsoft Weather Widget"
Description="Weather Widget Description"
AdditionalInfoUri="https://contoso.com/widgets/Weather"
ExclusiveRegions="US,UK"
AllowMultiple="true">
<Capabilities>
<Capability>
<Size Name="small" />
</Capability>
<Capability>
<Size Name="medium" />
</Capability>
<Capability>
<Size Name="large" />
</Capability>
</Capabilities>
<ThemeResources>
<Icons>
<Icon Path="Assets\icon.png" />
<Icon Path="Assets\icon.gif" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\background.png" DisplayAltText ="For accessibility"/>
</Screenshots>
<!-- DarkMode and LightMode are optional -->
<DarkMode>
<Icons>
<Icon Path="Assets\dark.png" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\darkBackground.png" DisplayAltText ="For accessibility"/>
</Screenshots>
</DarkMode>
<LightMode>
<Icons>
<Icon Path="Assets\light.png" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\lightBackground.png"/>
</Screenshots>
</LightMode>
</ThemeResources>
</Definition>
</Definitions>
</WidgetProvider>
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
Windows developer