Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows Search använder för närvarande webbsökningen från Bing-appen för att returnera webbinnehåll och sökresultat. I Europeiska ekonomiska samarbetsområdet (EES) kan du installera appar som implementerar en webbsökleverantör för att returnera webbinnehåll och sökresultat i Windows Search.
Sökprovidrar integreras med sökfunktionen genom att skapa ett MSIX-paket med en paketmanifestfil som tillhandahåller nödvändig information för operativsystemet för att registrera sökprovidern. Efter installationen är sökprovidern aktiverad som standard i Windows sökupplevelser. I Windows Inställningar kan användare aktivera och inaktivera installerade sökproviders och hantera ordningen på leverantörer i sökresultat. Användare kan ta bort en sökprovider via sidan Settings > Apps > Installerade appar i Windows Inställningar.
För utveckling och testning, när utvecklarläge är aktiverat och sökleverantörsappen har installerats manuellt på enheten, visas den i listan över tillgängliga sökleverantörer. Mer information finns i Inställningar för utvecklare.
När sökprovidern har registrerats med operativsystemet skickas användarfrågor till DEN HTTP-slutpunkt som anges av providern i paketmanifestet med hjälp av en standardiserad frågesträng. Slutpunkten returnerar föreslagna resultat i ett JSON-dokument. Med varje föreslagen URL i svarsdokumentet innehåller sökprovidern url:en för förhandsgranskningsslutpunkten, som returnerar ett HTML-dokument som visas i förhandsgranskningsfönstret i användargränssnittet för sökresultat.
Den här artikeln innehåller vägledning för att skapa ett programpaket för sökprovidern och information om protokollen för att implementera HTTP-slutpunkter för sökprovidern.
Skapa ett programpaket för utökningsbarhet för sökning
Sökprovidrar registrerar sig med operativsystemet genom att tillhandahålla ett MSIX-paket som innehåller nödvändig information om providern, till exempel namnet på sökprovidern och HTTP-slutpunkterna för förslag och förhandsversioner.
Apptillägg för sökprovider
Manifestfilen för apppaketet stöder många olika tillägg och funktioner för Windows appar. Manifestformatet för apppaket definieras av en uppsättning scheman som dokumenteras i schemareferensen paketmanifest. Sökleverantörer deklarerar sin registreringsinformation i uap3:AppExtension. Namnattributet för tillägget måste vara inställt på "com.microsoft.windows.websearchprovider".
Sökprovidrar bör inkludera uap3:Properties som ett barn av uap3:AppExtension. Schemat för paketmanifestet upprätthåller inte strukturen av uap3:Properties elementet förutom att kräva välformulerad XML. Resten av det här avsnittet beskriver DET XML-format som operativsystemet förväntar sig för att kunna registrera en sökprovider.
<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>
Element-hierarki
uap3:Egenskaper
Slutpunkt
Protokoll
Slutpunkt
URL:en för HTTPS-slutpunkten som operativsystemet ska skicka sökfrågeförfrågningar till.
Protokoll
Protokollschemat som ska användas när du startar de angivna webbsökningsresultaten. Om det angivna protokollet inte har registrerats av en app i operativsystemet startas standardwebbläsaren för sökresultat. Mer information om hur du registrerar protokollscheman finns i uap:Protocol.
Exempel på paketmanifestfil
Följande är ett exempel appmanifest.xml paketmanifestfil för registrering av en Windows sökprovider.
<!-- 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>
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="customsearch"/>
</uap:Extension>
Implementera en slutpunkt för förslag från Windows-sökleverantörer
Sökprovidrar måste exponera och registrera en HTTPS-slutpunkt som anropas av operativsystemet när en användare skriver i rutan Windows Search. Den här slutpunkten ska returnera en JSON-formaterad sträng som innehåller sökförslagen för den angivna användarfrågan. Innehållet måste levereras via HTTPS. Sökintegrering stöder inte innehåll som levereras via HTTP.
Förslag på HTTPS-begärandeformat
HTTPS-begäran till förslagsslutpunkten använder följande format.
https://contoso.com?setlang=en-US&cc=US&qry=
Frågesträngsparametrarna som skickas till förslagsslutpunkten är följande.
| Parameter | Beskrivning |
|---|---|
| setlang | Den lokal som är associerad med frågan. |
| cc | Landskoden som är associerad med frågan. |
| qry | Frågan som tillhandahålls av användaren. Om parametern inte har något värde, d.v.s. visas i frågesträngen som qry=, är användarfrågan tom. Sökleverantörer kan fortfarande ge förslag och förhandsgranska sidor som svar på en tom fråga.
NOT Operativsystemet utför inte någon sanering av frågesträngar. Sökprovidrar kan implementera sin egen sanering när frågan tas emot. |
Förslag för HTTPS-svarshuvuden
Sökleverantören måste inkludera följande rubriker i svaren från sökförslagens HTTPS-ändpunkt.
- Access-Control-Allow-Origin: https://www.bing.com
- Access-Control-Allow-Credentials: true
- Access-Control-Allow-Methods: GET
- Innehållstyp: program/json; charset=utf-8
- Innehållslängd: [Måste vara den exakta svarslängden]
JSON-format för förslagssvar
Sökproviderns HTTPS-slutpunkt för förslag måste returnera ett JSON-dokument med följande format. Nyckelnamnen måste matcha formatet exakt.
| Nyckel | Beskrivning |
|---|---|
| Förslag | Innehåller en lista över JSON-objekt med nyckeln Attributes som representerar de förslag som är associerade med användarfrågan. |
| Egenskaper | Innehåller attributen för ett förslag. |
| URL | URL:en för sökförslaget på providerns webbplats. |
| förfrågan | Användarfrågan som är associerad med sökförslaget. |
| previewPaneUrl | URL:en för förhandsgranskningsslutpunkten från vilken en HTML-förhandsversion av förslaget kan hämtas. |
| Textinnehåll | Textbeskrivningen för förslaget. |
{"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"}
]
}
Implementera en Windows förhandsgranskningsslutpunkt för sökprovidern
Sökleverantörer returnerar URL:en för en HTTPS-slutpunkt som tillhandahåller en HTML-förhandsgranskning av sidan som är associerad med varje förslag i sökresultaten. Förhandsgranskningens slutpunktssvar måste returnera HTML-koden för en fungerande sida.
Förhandsgranska HTTPS-begärandeformat
HTTPS-begäran till förhandsgranskningsslutpunkten använder följande format.
https://contoso.com?Darkschemeovr=1
Frågesträngsparametrarna som skickas till förslagsslutpunkten är följande.
| Parameter | Beskrivning |
|---|---|
| Darkschemeovr | Anger om det anropande Windows systemet har mörkt tema aktiverat. Värdet är 1 om mörkt tema är aktiverat och 0 om det mörka temat är inaktiverat. |
Förhandsgranska HTTPS-svarshuvuden
- Access-Control-Allow-Origin: https://www.bing.com
- Access-Control-Allow-Credentials: true
- Access-Control-Allow-Methods: GET
- Innehållstyp: text/html; charset=utf-8
- Innehållslängd: [Måste vara den exakta längden på förhandsgranskningen html]
OPTIONS-begäran och resursdelning mellan ursprung (CORS)
Windows Search-klienten skickar en HTTP OPTIONS-begäran (CORS preflight) före varje GET-begäran. Sökprovidrar måste ha stöd för metoden OPTIONS-begäran och svara med HTTP 200 OK.
Relaterade artiklar
Windows developer