Формат XML манифеста пакета поставщика мини-приложений
Чтобы отобразиться в узле мини-приложений, приложения, поддерживающие мини-приложения 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
Icon
Активация
CreateInstance
АктивацияApplication
Определения
Определение
Возможности
Возможность
Размер
ThemeResources
Значки
Icon
Снимки экрана
Снимок экрана
DarkMode
Значки
Icon
Снимки экрана
Снимок экрана
LightMode
Значки
Icon
Снимки экрана
Снимок экрана
WidgetProvider
Корневой элемент сведений о регистрации поставщика мини-приложений.
WidgetProviderIcons
Задает значки, представляющие приложение поставщика мини-приложений.
Активация
Указывает сведения о активации для поставщика мини-приложений. Если в манифесте указаны как CreateInstance, так и ActivateApplication, CreateInstance имеет приоритет.
CreateInstance
CreateInstance следует указать для поставщиков мини-приложений на основе Win32, реализующих интерфейс IWidgetProvider . Система активирует интерфейс с вызовом CoCreateInstance. Атрибут ClassId указывает CLSID для сервера CreateInstance, реализующего интерфейс IWidgetProvider.
Атрибут | Тип | Обязательно | Описание | Default value |
---|---|---|---|---|
ClassId | GUID | Да | CLSID для сервера CreateInstance, реализующего поставщика мини-приложений. | Н/П |
АктивацияApplication
При указании ActivateApplication поставщик мини-приложения активируется с помощью командной строки с аргументами, предоставленными в виде строк JSON в кодировке base64url. Рекомендуется, чтобы поставщики мини-приложений использовали тип активации CreateInstance . Сведения о формате командной строки ActivateApplication см. в разделе "Протокол ActivateApplication" поставщика мини-приложений.
Определения
Элемент контейнера для одной или нескольких регистраций мини-приложений.
Определение
Представляет регистрацию для одного мини-приложения.
Атрибут | Тип | Обязательно | Описание | Default value |
---|---|---|---|---|
Id | string | Да | Идентификатор, определяющий мини-приложение. Это значение также отображается на панели навигации средства выбора мини-приложений. Реализации поставщика мини-приложений используют эту строку, чтобы определить или указать, какие мини-приложения ссылаются для каждой операции. Эта строка должна быть уникальной для всех мини-приложений, определенных в файле манифеста приложения. | Н/П |
Отображаемое имя | string | Да | Имя мини-приложения, отображаемого на узле мини-приложений. | Н/П |
Description | string | Да | Краткое описание мини-приложения. | Н/П |
AllowMultiple | boolean | No | Установите значение false, если поддерживается только один экземпляр этого мини-приложения. Этот атрибут является необязательным, а значение по умолчанию — true. | true |
IsCustomizable | boolean | No | Представлено в пакете SDK для приложений Windows 1.4. Установите значение true, если ваше приложение поддерживает настройку мини-приложения. Это приводит к отображению кнопки "Настройка мини-приложения" в меню с многоточием мини-приложения. | false |
ДополнительныйInfoUri | string | No | Универсальный код ресурса (URI), который можно связать с мини-приложением, который будет использоваться, когда пользователь щелкает заголовок рамки мини-приложения или щелкнув powered по элементу контекстного меню. | Н/П |
Исключенныеregions | string | No | Список регионов, где мини-приложение не должно быть доступно. Мини-приложения могут указывать excludedRegions или ExclusiveRegions, но не должны указывать оба в одном определении мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. | Н/П |
ExclusiveRegions | string | No | Список только регионов, где должен быть доступен мини-приложение. Мини-приложения могут указывать excludedRegions или ExclusiveRegions, но не должны указывать оба в определении одного мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. | Н/П |
WebRequestFilter | string | No | Указывает фильтр, который определяет URL-адреса запросов ресурсов, для которых запрос будет перехвачен и перенаправлен на реализацию поставщика виджетов IWidgetResourceProvider.OnResourceRequested. Шаблон фильтра задаётся в формате, который описан в шаблонах сопоставления. При необходимости строка фильтра в регистрации должна использовать Punycode. Строка фильтра должна соответствовать источнику, откуда осуществляется регистрация мини-приложения, указанного в поле webUrl в содержимом адаптивной карточки. | Н/П |
Возможности
Необязательно. Задает возможности для одного мини-приложения. Если возможности не объявлены, по умолчанию добавляется одна возможность, указывающая размер "большой".
Возможность
Указывает возможность мини-приложения.
Размер
Указывает поддерживаемые размеры связанного мини-приложения.
Атрибут | Тип | Обязательно | Описание | Default value |
---|---|---|---|---|
Имя | string | Да | Указывает поддерживаемый размер мини-приложения. Значение должно быть одним из следующих значений: "small", "средний", "большой" | Н/П |
ThemeResources
Задает ресурсы темы для мини-приложения.
Значки
Элемент контейнера для одного или нескольких элементов Icon .
Icon
Обязательный. Указывает значок, отображаемый в области атрибуции мини-приложения.
Атрибут | Тип | Обязательно | Описание | Default value |
---|---|---|---|---|
Путь | string | Да | Относительный путь пакета к файлу изображения значка. | Н/П |
Снимки экрана
Обязательный. Указывает один или несколько снимков экрана мини-приложения.
Снимок экрана
Обязательный. Указывает снимок экрана для мини-приложения. На этом снимке экрана показан узел мини-приложений в диалоговом окне "Добавление мини-приложений", когда пользователь выбирает мини-приложения для добавления в узел мини-приложений. Если вы предоставляете снимок экрана для необязательных элементов DarkMode или LightMode, перечисленных ниже, узел мини-приложений будет использовать снимок экрана, соответствующий текущей теме устройства. Если вы не предоставляете снимок экрана для текущей темы устройства, будет использоваться изображение, предоставленное в этом элементе снимка экрана . Сведения о требованиях к проектированию изображений снимок экрана и соглашения об именовании локализованных снимков см. в разделе "Интеграция с средство выбора мини-приложений".
Примечание.
Снимки экрана мини-приложения не отображаются в диалоговом окне добавления мини-приложений в текущем выпуске preview..
Атрибут | Тип | Обязательно | Описание | Default value |
---|---|---|---|---|
Путь | string | Да | Относительный путь к файлу изображения снимка экрана. | Н/П |
DisplayAltText | string | No | Замещающий текст изображения для специальных возможностей. | Н/П |
DarkMode
Необязательно. Указывает ресурсы темы для того, когда на устройстве активен темный режим. Если указать один или несколько изображений снимка экрана в необязательном элементе 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