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.
I den här artikeln beskrivs formatet för kommandoradens aktiveringsparametrar för widgetsprovidrar som använder aktiveringstypen ActivateApplication .
Important
Widgetproviders anger en aktiveringsmetod i widgetproviderns manifestfil enligt beskrivningen i XML-formatet för Widget-providerpaketets manifest. Vi rekommenderar att widgetprovidrar använder aktiveringstypen CreateInstance och svarar på widgetvärdbegäranden med hjälp av IWidgetProvider-gränssnittsmetoderna i stället för att använda aktiveringsmetoden ActivateApplication . Informationen i den här artikeln tillhandahålls för fullständighet och rekommenderas inte för användning av de flesta widgetproviderimplementeringar.
Argumentsträng i ActivateApplication och base64url-kodning
När widgetprovidern aktiveras kommer kommandoraden att ha --widget-call= som prefix före base64url-kodningen i kommandoradsargumenten.
--widget-call=[base64url]
Till exempel base64url-delen i
--widget-call=ew0KICAgICJXaWRnZXRDYWxsIjoiQ3JlYXRlV2lkZ2V0IiwNCiAgICAiV2lkZ2V0Q29udGV4dCI6ew0KICAgICAgICAiSWQiOiI5ODU4MjEwOS1jNmJmLTQzNzItODlkNi04OWY1N2ViNzU0ZjYiLA0KICAgICAgICAiRGVmaW5pdGlvbk5hbWUiOiJQV0FfQ291bnRpbmdfV2lkZ2V0IiwNCiAgICAgICAgIlNpemUiOiJMYXJnZSINCiAgICB9DQp9
avkodas till
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Information om kommandoradsformat
Json-kommandoraden kodar anrop till IWidgetProvider metoderna:
interface IWidgetProvider
{
void CreateWidget(WidgetContext widgetContext);
void DeleteWidget(String widgetId);
void OnActionInvoked(WidgetCallInvokedArgs actionInvokedArgs);
void OnWidgetContextChanged(WidgetContextChangedArgs contextChangedArgs);
}
Varje aktivering representerar ett metodanrop. JSON-objektet har ett värde för WidgetCall som innehåller metodnamnet, och sedan ett värde för varje parameter, namngivet efter parameternamnet men med inledande versal. Varje parameter mappas som ett parvariabelnamn<, värde> till json-objektet. För parametern WidgetContext widgetContextCreateWidget för metoden WidgetContext definieras den till exempel så här:
runtimeclass WidgetContext
{
String Id { get; };
String DefinitionId{ get; };
String Size { get; };
};
Note
Widgetprovidrar bör ignorera oväntade parametervärden för att hantera fallet där ytterligare parametrar läggs till i framtiden.
API-anropet för widgetprovidern CreateWidget serialiseras till ett JSON-objekt:
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Objektet kommer alltid att innehålla värdet WidgetCall och alla parametervärden som anges av metoden IWidgetProvider.
Exempel på marshallerade objekt
Skapa Json-objekt för widget
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Ta bort Json-objekt för widget
{
"WidgetId": "1AC74363-177B-4CD2-995F-3B25AEEA3FF4",
"WidgetCall": "DeleteWidget",
"CustomState": "usedata"
}
OnActionInvoked Json-objekt
{
"WidgetCall": "OnActionInvoked",
"Args":{
"Verb": "Verb String",
"Data": "Data Details",
"CustomState": "usedata",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
}
Aktivera Json-objekt
{
"WidgetCall": "Activate",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Inaktivera Json-objekt
{
"WidgetCall": "Deactivate",
"WidgetId":"98582109-c6bf-4372-89d6-89f57eb754f6"
}
JSON-objekt för OnWidgetContextChanged
Till exempel, när WidgetSize ändras till Medium, utlöses en WidgetContextChanged-händelse.
{
"WidgetCall": "OnWidgetContextChanged",
"Args":{
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Medium"
}
}
}
Windows developer