Поделиться через


Формат 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 Да Идентификатор, определяющий мини-приложение. Это значение также отображается на панели навигации средства выбора мини-приложений. Реализации поставщика мини-приложений используют эту строку, чтобы определить или указать, какие мини-приложения ссылаются для каждой операции. Эта строка должна быть уникальной для всех мини-приложений, определенных в файле манифеста приложения. Н/П
Отображаемое имя строка Да Имя мини-приложения, отображаемого на узле мини-приложений. Н/П
Description string Да Краткое описание мини-приложения. Н/П
AllowMultiple boolean No Установите значение false, если поддерживается только один экземпляр этого мини-приложения. Этот атрибут является необязательным, а значение по умолчанию — true. true
IsCustomizable boolean No Представлено в пакете SDK для приложений Windows 1.4. Установите значение true, если ваше приложение поддерживает настройку мини-приложения. Это приводит к отображению кнопки "Настройка мини-приложения" в меню с многоточием мини-приложения. false
ДополнительныйInfoUri строка Нет Универсальный код ресурса (URI), который можно связать с мини-приложением, который будет использоваться, когда пользователь щелкает заголовок рамки мини-приложения или щелкнув powered по элементу контекстного меню. Н/П
Исключенныеregions строка Нет Список регионов, где мини-приложение не должно быть доступно. Мини-приложения могут указывать excludedRegions или ExclusiveRegions, но не должны указывать оба в одном определении мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. Н/П
ExclusiveRegions строка Нет Список только регионов, где должен быть доступен мини-приложение. Мини-приложения могут указывать excludedRegions или ExclusiveRegions, но не должны указывать оба в определении одного мини-приложения. Значение атрибута — это разделенный запятыми список двух кодов областей символов. Н/П

Возможности

Необязательно. Задает возможности для одного мини-приложения. Если возможности не объявлены, по умолчанию добавляется одна возможность, указывающая размер "большой".

Возможность

Указывает возможность мини-приложения.

Размер

Указывает поддерживаемые размеры связанного мини-приложения.

Атрибут Тип Обязательно Описание Default value
Имя строка Да Указывает поддерживаемый размер мини-приложения. Значение должно быть одним из следующих значений: "small", "средний", "большой" Н/П

ThemeResources

Задает ресурсы темы для мини-приложения.

Значки

Элемент контейнера для одного или нескольких элементов Icon .

Icon

Обязательный. Указывает значок, отображаемый в области атрибуции мини-приложения.

Атрибут Тип Обязательно Описание Default value
Путь строка Да Относительный путь пакета к файлу изображения значка. Н/П

Снимки экрана

Обязательный. Указывает один или несколько снимков экрана мини-приложения.

Снимок экрана

Обязательный. Указывает снимок экрана для мини-приложения. На этом снимке экрана показан узел мини-приложений в диалоговом окне "Добавление мини-приложений", когда пользователь выбирает мини-приложения для добавления в узел мини-приложений. Если вы предоставляете снимок экрана для необязательных элементов DarkMode или LightMode, перечисленных ниже, узел мини-приложений будет использовать снимок экрана, соответствующий текущей теме устройства. Если вы не предоставляете снимок экрана для текущей темы устройства, будет использоваться изображение, предоставленное в этом элементе снимка экрана . Сведения о требованиях к проектированию изображений снимок экрана и соглашения об именовании локализованных снимков см. в разделе "Интеграция с средство выбора мини-приложений".

Примечание.

Снимки экрана мини-приложения не отображаются в диалоговом окне добавления мини-приложений в текущем выпуске preview..

Атрибут Тип Обязательно Описание Default value
Путь строка Да Относительный путь к файлу изображения снимка экрана. Н/П
DisplayAltText строка Нет Замещающий текст изображения для специальных возможностей. Н/П

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>