Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird das Format der Befehlszeilenaktivierungsparameter für Widgets-Anbieter beschrieben, die den Aktivierungstyp ActivateApplication verwenden.
Important
Widgetanbieter geben eine Aktivierungsmethode in der Widget-Anbietermanifestdatei an, wie im XML-Format des Widget-Anbieterpaketmanifests beschrieben. Es wird empfohlen, dass Widgetanbieter den CreateInstance-Aktivierungstyp verwenden und auf Widgethostanforderungen mithilfe der IWidgetProvider-Schnittstellenmethoden reagieren, anstatt die ActivateApplication-Aktivierungsmethode zu verwenden. Die Informationen in diesem Artikel werden zur Vollständigkeit bereitgestellt und nicht für die Verwendung durch die meisten Widgetanbieterimplementierungen empfohlen.
Argumentzeichenfolge in ActivateApplication und Base64url-Codierung
Wenn der Widgetanbieter aktiviert ist, wird den Befehlszeilenargumenten vor der base64url-Codierung das Präfix --widget-call= vorangestellt.
--widget-call=[base64url]
Zum Beispiel der Base64url-Teil in
--widget-call=ew0KICAgICJXaWRnZXRDYWxsIjoiQ3JlYXRlV2lkZ2V0IiwNCiAgICAiV2lkZ2V0Q29udGV4dCI6ew0KICAgICAgICAiSWQiOiI5ODU4MjEwOS1jNmJmLTQzNzItODlkNi04OWY1N2ViNzU0ZjYiLA0KICAgICAgICAiRGVmaW5pdGlvbk5hbWUiOiJQV0FfQ291bnRpbmdfV2lkZ2V0IiwNCiAgICAgICAgIlNpemUiOiJMYXJnZSINCiAgICB9DQp9
ist decodiert in
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Details zum Befehlszeilenformat
Die Json-Befehlszeile codiert Aufrufe an die IWidgetProvider Methoden:
interface IWidgetProvider
{
void CreateWidget(WidgetContext widgetContext);
void DeleteWidget(String widgetId);
void OnActionInvoked(WidgetCallInvokedArgs actionInvokedArgs);
void OnWidgetContextChanged(WidgetContextChangedArgs contextChangedArgs);
}
Jede Aktivierung stellt einen Methodenaufruf dar. Das Json-Objekt weist einen WidgetCall Wert mit dem Methodennamen und dann einen Wert für jeden Parameter auf, der als Parametername mit Ausnahme der Großschreibung bezeichnet wird. Jeder Parameter wird dem JSON-Objekt als Paar<Variablenname, Wert> zugeordnet. Für den WidgetContext widgetContext Parameter der CreateWidget Methode ist dies WidgetContext beispielsweise wie folgt definiert:
runtimeclass WidgetContext
{
String Id { get; };
String DefinitionId{ get; };
String Size { get; };
};
Note
Widgetanbieter sollten unerwartete Parameterwerte ignorieren, um den Fall zu behandeln, in dem in Zukunft zusätzliche Parameter hinzugefügt werden.
Der API-Aufruf des Widgetanbieters CreateWidget wird in ein JSON-Objekt umgewandelt:
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Das Objekt enthält immer den WidgetCall Wert und alle Parameterwerte, wie durch die IWidgetProvider Methode angegeben.
Beispiele für gemarshallte Objekte
Widget Json-Objekt erstellen
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Json-Objekt des Widgets löschen
{
"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"
}
}
}
Json-Objekt aktivieren
{
"WidgetCall": "Activate",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Json-Objekt deaktivieren
{
"WidgetCall": "Deactivate",
"WidgetId":"98582109-c6bf-4372-89d6-89f57eb754f6"
}
OnWidgetContextChanged JSON-Objekt
Beispielsweise wird ein WidgetContextChanged-Ereignis ausgelöst, wenn WidgetSize zu Medium geändert wird.
{
"WidgetCall": "OnWidgetContextChanged",
"Args":{
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Medium"
}
}
}
Windows developer