Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje formát parametrů aktivace příkazového řádku pro poskytovatele widgetů, kteří používají typ aktivace ActivateApplication .
Important
Zprostředkovatelé widgetů určují metodu aktivace v souboru manifestu zprostředkovatele widgetu, jak je popsáno ve formátu XML manifestu balíčku zprostředkovatele widgetu. Doporučujeme, aby poskytovatelé widgetů používali typ aktivace CreateInstance a reagovali na požadavky hostitele widgetu pomocí metod rozhraní IWidgetProvider místo použití metody aktivace ActivateApplication . Informace v tomto článku jsou poskytovány pro úplnost a nedoporučuje se používat ve většině implementací zprostředkovatele widgetů.
Řetězec argumentů v kódování ActivateApplication a base64url
Když je poskytovatel widgetu aktivován, bude v argumentech příkazového řádku před base64url kódování přidána předpona --widget-call=.
--widget-call=[base64url]
Například část base64url v
--widget-call=ew0KICAgICJXaWRnZXRDYWxsIjoiQ3JlYXRlV2lkZ2V0IiwNCiAgICAiV2lkZ2V0Q29udGV4dCI6ew0KICAgICAgICAiSWQiOiI5ODU4MjEwOS1jNmJmLTQzNzItODlkNi04OWY1N2ViNzU0ZjYiLA0KICAgICAgICAiRGVmaW5pdGlvbk5hbWUiOiJQV0FfQ291bnRpbmdfV2lkZ2V0IiwNCiAgICAgICAgIlNpemUiOiJMYXJnZSINCiAgICB9DQp9
je dekódován do
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Podrobnosti o formátu příkazového řádku
Příkazový řádek Json kóduje volání metod IWidgetProvider :
interface IWidgetProvider
{
void CreateWidget(WidgetContext widgetContext);
void DeleteWidget(String widgetId);
void OnActionInvoked(WidgetCallInvokedArgs actionInvokedArgs);
void OnWidgetContextChanged(WidgetContextChangedArgs contextChangedArgs);
}
Každá aktivace představuje jedno volání metody. Objekt Json má WidgetCall hodnotu s názvem metody a pak hodnotu pro každý parametr s názvem parametru s výjimkou velkých písmen. Každý parametr je namapován jako název párové<proměnné, hodnota> na objekt JSON. Například, parametr WidgetContext widgetContext metody CreateWidget má WidgetContext definovanou takto:
runtimeclass WidgetContext
{
String Id { get; };
String DefinitionId{ get; };
String Size { get; };
};
Note
Zprostředkovatelé widgetů by měli ignorovat neočekávané hodnoty parametrů pro zpracování případu, kdy se v budoucnu přidají další parametry.
Volání rozhraní API zprostředkovatele CreateWidget widgetů je zařazováno do objektu Json:
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Objekt bude vždy obsahovat WidgetCall hodnotu a všechny hodnoty parametrů zadané metodou IWidgetProvider .
Příklady sřazovaných objektů
Vytvoření objektu JSON widgetu
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Odstranění objektu JSON widgetu
{
"WidgetId": "1AC74363-177B-4CD2-995F-3B25AEEA3FF4",
"WidgetCall": "DeleteWidget",
"CustomState": "usedata"
}
OnActionInvolat objekt JSON
{
"WidgetCall": "OnActionInvoked",
"Args":{
"Verb": "Verb String",
"Data": "Data Details",
"CustomState": "usedata",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
}
Aktivace objektu JSON
{
"WidgetCall": "Activate",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Deaktivace objektu JSON
{
"WidgetCall": "Deactivate",
"WidgetId":"98582109-c6bf-4372-89d6-89f57eb754f6"
}
OnWidgetContextChanged – objekt JSON
Například když se WidgetSize změní na Medium, spustí se událost WidgetContextChanged.
{
"WidgetCall": "OnWidgetContextChanged",
"Args":{
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Medium"
}
}
}
Windows developer