Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В настоящее время Поиск Windows использует веб-поиск из приложения Microsoft Bing для возврата веб-содержимого и результатов поиска. В Европейской экономической зоне (EEA) можно установить приложения, реализующие функции поставщика веб-поиска, чтобы предоставлять веб-содержимое и результаты поиска в Поиске Windows.
Поставщики поиска интегрируются с системой поиска, создавая пакет MSIX с файлом манифеста пакета, который предоставляет необходимые сведения для регистрации поставщика поиска операционной системой. После установки поставщик поиска включен по умолчанию в интерфейсах поиска Windows. В приложении параметров Windows пользователи могут включать и отключать установленные поставщики поиска и управлять порядком поставщиков в результатах поиска. Пользователи могут удалить сервер поиска через страницу Настройки > Приложения > Установленные приложения в приложении "Параметры Windows".
Для разработки и тестирования, если режим разработчика включен и приложение поставщика поиска было загружено на устройстве, оно появится в списке доступных поставщиков поиска. Дополнительные сведения см. в разделе "Режим разработчика" и "Отладка".
После регистрации поставщика поиска в ОС запросы пользователей передаются в конечную точку HTTP, указанную поставщиком в манифесте пакета, используя стандартизованную строку запроса. Конечная точка возвращает предлагаемые результаты в документе JSON. С каждым предлагаемым URL-адресом в документе ответа поставщик поиска включает URL-адрес конечной точки предварительного просмотра, который возвращает HTML-документ, отображаемый в области предварительного просмотра в пользовательском интерфейсе результатов поиска.
В этой статье приводятся рекомендации по созданию пакета приложения поставщика поиска и сведения о протоколах для реализации конечных точек HTTP поставщика поиска.
Создание пакета приложения расширения поиска
Поставщики поиска регистрируются в ОС, предоставляя пакет MSIX, содержащий необходимые сведения о поставщике, например имя поставщика поиска и конечные точки HTTP для предложений и предварительных версий.
Расширение приложения поставщика поиска
Файл манифеста пакета приложения поддерживает множество различных расширений и функций для приложений Windows. Формат манифеста пакета приложения определяется набором схем, которые описаны в справочнике по схемам манифеста пакета. Поставщики поиска объявляют свои сведения о регистрации в uap3:AppExtension. Атрибут Name расширения должен иметь значение com.microsoft.windows.websearchprovider.
Поставщики поиска должны включать uap3:Properties в качестве дочернего элемента uap3:AppExtension. Схема манифеста пакета не требует определённой структуры элемента uap3:Properties, кроме как необходимости в хорошо сформированном XML. В остальной части этого раздела описывается формат XML, который ос ожидает для успешной регистрации поставщика поиска.
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.websearchprovider" DisplayName="SearchExampleApp" Id="ContosoSearchApp" PublicFolder="Public">
<uap3:Properties>
<!-- Search provider registration content goes here -->
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
Иерархия элементов
uap3:Свойства
Конечная точка
Протокол
Конечная точка
URL-адрес конечной точки HTTPS, в которую ОС отправляет запросы поиска.
Протокол
Схема протокола, которая будет использоваться при запуске предоставленных результатов поиска в Интернете. Если указанный протокол не зарегистрирован приложением в ОС, браузер по умолчанию будет запущен для результатов поиска. Дополнительные сведения о регистрации схем протокола см. в разделе uap:Protocol.
ДинамическоеСодержимоеКонечнаяТочка
Эта функция больше не поддерживается. Дополнительные сведения см. в разделе "Реализация конечной точки значка блеска". URL-адрес конечной точки HTTPS, в которую ОС отправляет запрос на отображение значка блеска в поле поиска.
Пример файла манифеста пакета
Ниже приведен пример appmanifest.xml
файла манифеста пакета для регистрации поставщика поиска Windows.
<!-- appxmanifest.xml -->
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.websearchprovider" DisplayName="CustomSearch" Id="CustomSearchApp" PublicFolder="Public">
<uap3:Properties>
<Endpoint>https://customsearchendpoint</Endpoint>
<Protocol>customsearch</Protocol>
<DynamicContentEndpoint>https://sub.contoso.com/dynamic</DynamicContentEndpoint>
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="customsearch"/>
</uap:Extension>
Реализация конечной точки предложения поставщика поиска Windows
Поставщики поиска должны предоставлять и регистрировать конечную точку HTTPS, которая вызывается операционной системой, когда пользователь вводит текст в поисковую строку Windows. Эта конечная точка должна возвращать строку в формате JSON, содержащую предложения поиска для предоставленного пользовательского запроса. Содержимое должно быть доставлено по протоколу HTTPS. Интеграция поиска не поддерживает содержимое, доставленное по протоколу HTTP.
Формат HTTPS-запроса по рекомендации
HTTPS-запрос к конечной точке предложения использует следующий формат.
https://contoso.com?setlang=en-US&cc=US&qry=
Параметры строки запроса, передаваемые конечной точке предложения, приведены ниже.
Параметр | Описание |
---|---|
setlang | Локаль, ассоциированная с запросом. |
копия | Код страны, связанный с запросом. |
qry | Запрос, предоставленный пользователем. Если параметр не имеет значения, т. е. отображается в строке запроса как qry= , то запрос пользователя пуст. Поставщики поиска по-прежнему могут предоставлять предложения и страницы предварительного просмотра в ответ на пустой запрос.
ЗАМЕТКА ОС не выполняет очистку строк запроса. Поставщики поиска могут реализовать собственную очистку при получении запроса. |
Предложения заголовков ответов HTTPS
Поставщик поиска должен включать следующие заголовки в ответе из конечной точки запроса предложений HTTPS.
- Access-Control-Allow-Origin: https://www.bing.com
- Access-Control-Allow-Credentials: true
- Access-Control-Allow-Methods: GET (метод получения данных)
- Content-Type: application/json; charset=utf-8
- Длина содержимого: [должна быть точной длиной ответа]
Формат ответа предложения JSON
Конечная точка HTTPS поставщика поиска для предложений должна возвращать документ JSON со следующим форматом. Имена ключей должны точно соответствовать формату.
Ключ | Описание |
---|---|
Предложения | Содержит список объектов JSON с ключом Attributes , представляющим предложения, связанные с запросом пользователя. |
Атрибуты | Содержит атрибуты предложения. |
URL-адрес | URL-адрес предложения поиска на веб-сайте поставщика. |
запрос | Запрос пользователя, связанный с предложением поиска. |
URL окна предварительного просмотра | URL-адрес конечной точки предварительной версии, из которой можно получить HTML-предварительную версию предложения. |
Текст | Текстовое описание предложения. |
{"Suggestions":
[{"Attributes":
{"url":"https://www.contoso.com/search?q=projection+matrix","query":"projection matrix","previewPaneUrl":"http://www.contoso.com/preview"} ,"Text":"projection matrix"},
{"Attributes":
{"url":"https://www.contoso.com/search?q=rotation+matrix","query":"rotation matrix","previewPaneUrl":"http://www.contoso.com/preview"} ,"Text":"rotation matrix"}
]
}
Реализовать конечную точку предварительного просмотра службы поиска Windows
Поставщики поиска возвращают URL-адрес конечной точки HTTPS, которая предоставляет html-предварительный просмотр страницы, связанной с каждым предложением в результатах поиска. Ответ конечной точки предварительной версии должен возвращать HTML-код для работающей страницы.
Предварительный просмотр формата запроса HTTPS
HTTPS-запрос к конечной точке предварительной версии использует следующий формат.
https://contoso.com?Darkschemeovr=1
Параметры строки запроса, передаваемые конечной точке предложения, приведены ниже.
Параметр | Описание |
---|---|
Darkschemeovr | Указывает, включен ли темный режим на вызываемой системе Windows. Значение равно 1, если темная тема включена и 0, если темная тема отключена. |
Предварительный просмотр заголовков ответов HTTPS
- Access-Control-Allow-Origin: https://www.bing.com
- Access-Control-Allow-Credentials: true
- Access-Control-Allow-Methods: GET (метод получения данных)
- Content-Type: text/html; charset=utf-8
- Длина содержимого: [должна точно соответствовать длине HTML предварительного просмотра]
Запрос OPTIONS и политика совместного использования ресурсов между источниками (CORS)
Поставщики поиска должны поддерживать метод запроса OPTIONS и отвечать на этот запрос с помощью HTTP OK. Если конечная точка поставщика поиска использует CORS, клиент поиска Windows отправит HTTP-запрос OPTIONS перед каждым запросом GET.
Реализация конечной точки значка блеска
Замечание
Эта функция блеска больше не включена. Значки gleam больше не отображаются для всех веб-поставщиков в EEA. Содержимое этого раздела документации устарело.
Поставщики поиска могут при необходимости предоставлять светлые и темные значки блеска режима, отображаемые в строке поиска при включении поставщика поиска. Если элемент DynamicContentEndpoint указан в манифесте приложения, запрос будет отправлен на указанный URL-адрес, а поставщик поиска отвечает с json-файлом в формате, определенном ниже, который содержит URL-адреса файлов изображений значков и другие метаданные. Запрос значка блеска будет отправляться периодически, пока поставщик поиска является самым последним поставщиком, активным в Поиске Windows. Частота этого запроса составляет каждые 6 часов. Запрос также будет отправлен при каждом запуске поиска и разблокировке устройства.
Формат запроса HTTPS для значка Gleam
HTTPS-запрос к конечной точке значка блеска использует следующий формат.
https://www.contoso.com/Gleam?cc=FR&setlang=en-us&dateTime=3%2F29%2F2024%2C%208%3A33%3A56%20PM&deviceOs=windows10&schemaversion=1.0.0
Параметры строки запроса, передаваемые конечной точке предложения, приведены ниже.
Параметр | Описание |
---|---|
setlang | Локаль, ассоциированная с запросом. |
копия | Код страны, связанный с запросом. |
дата и время | Текущие дата и время с клиентского устройства, закодированные в формате URL. |
операционная система устройства | ОС клиентского устройства. Значение этого параметра может быть "Windows10" или "Windows11". В Windows 10 размер значка блеска составляет 30x60. В Windows 11 размер значка блеска составляет 20x36 |
schemaversion | Версия схемы блеска. |
Формат JSON значка ответа Gleam
Конечная точка HTTPS поставщика поиска для значков блеска должна возвращать документ JSON со следующим форматом. Имена ключей должны точно соответствовать формату. Текущая версия схемы — 1.0.0.
Ключ | Описание |
---|---|
schemaVersion | Версия схемы блеска. Это должно соответствовать параметру строки запроса schemaVersion в запросе. |
идентификатор телеметрии | Уникальный идентификатор значка блеска. Если значение в ответе совпадает со значением для текущего значка блеска, ОС не обновит значок. |
время истечения срока | Время окончания срока действия значка блеска. Должно быть время в будущем. |
содержимое | Раздел содержимого ответа. |
поисковая строка панели задач | Содержит параметры для поля поиска. |
проблеск | Содержит параметры значка блеска. |
альтТекст | Альтернативный текст для значка блеска. |
dimensionEnum | Значение "30x60", если запрос был отправлен с устройства Windows 10. Значение "20x36", если запрос был отправлен с устройства Windows 11. |
iconUrl | Содержит URL-адреса для файлов изображений значков светлого и темного блеска. |
свет | URL-адрес файла изображения значка светлого блеска. |
темный | URL файла изображения значка с темным отблеском. |
{
"schemaVersion":"1.0.0",
"telemetryId":"<unique gleam Id>",
"expirationTime":"2025-12-09T20:37:13Z",
"content": {
"taskbarSearchBox": {
"gleam":{
"altText": "<alt text of the gleam>",
"dimensionEnum": "(30x60 for Windows 10, 20x36 for Windows 11)",
"iconUrl": {
"light":"<3p's light gleam url>",
"dark": "<3p's dark gleam url>"
}
}
}
}
}
Проверка реакции на значок Gleam
Ответ должен указать URL-адрес светлого ресурса и URL-адрес темного ресурса. Домены для URL-адресов изображения значков должны использовать HTTPS, а поддомен должен соответствовать поддомену, указанному в элементе DynamicContentEndpoint в файле манифеста приложения.
Файлы изображений должны находиться в формате SVG, а максимальный размер файла — 300 кб. Блеск должен находиться в рамке 240x120px внутри SVG.
Если получена пустая полезная нагрузка, это приведет к очистке активного значка блеска, и блеск не будет отображаться.
Связанные статьи
Windows developer