Format XML du manifeste du package du fournisseur de widgets
Pour être affichées dans l’hôte de widgets, les applications qui prennent en charge les widgets Windows doivent inscrire leur fournisseur de widgets auprès du système. Pour les applications Win32, seules les applications empaquetées sont actuellement prises en charge, et les fournisseurs de widgets spécifient leurs informations d’inscription dans le fichier manifeste du package d’application. Cet article documente le format XML pour l’inscription des widgets. Consultez la section Exemple pour obtenir le code d’un exemple de manifeste de package pour un fournisseur de widgets Win32.
Extension d’application
Le fichier manifeste du package d’application prend en charge de nombreuses extensions et fonctionnalités différentes pour les applications Windows. Le format du manifeste du package d’application est défini par un ensemble de schémas documentés dans les Informations de référence sur le schéma du manifeste de package. Les fournisseurs de widgets déclarent leurs informations d’inscription dans uap3:AppExtension. L’attribut Name de l’extension doit être défini sur « com.microsoft.windows.widgets ».
Les fournisseurs de widgets doivent inclure uap3:Properties en tant qu’enfant de uap3:AppExtension. Le schéma de manifeste du package n’applique pas la structure de l’élément uap3:Properties, hormis l’exigence relative au code XML correctement formé. Le reste de cet article décrit le format XML attendu par l’hôte de widget pour inscrire correctement un fournisseur de widgets.
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.widgets" DisplayName="WidgetTestApp" Id="ContosoWidgetApp" PublicFolder="Public">
<uap3:Properties>
<!-- Widget provider registration content goes here -->
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
Hiérarchie d’éléments
WidgetProvider
ProviderIcons
Icon
Activation
CreateInstance
ActivateApplication
Définitions
Définition
Fonctions
Fonctionnalité
Taille
ThemeResources
Icônes
Icon
Captures d’écran
Screenshot
DarkMode
Icônes
Icon
Captures d’écran
Screenshot
LightMode
Icônes
Icon
Captures d’écran
Screenshot
WidgetProvider
Élément racine des informations d’inscription du fournisseur de widgets.
WidgetProviderIcons
Spécifie les icônes représentant l’application fournisseur de widgets.
Activation
Spécifie les informations d’activation pour le fournisseur de widgets. Si CreateInstance et ActivateApplication sont tous deux spécifiés dans le manifeste, CreateInstance est prioritaire.
CreateInstance
CreateInstance doit être spécifié pour les fournisseurs de widgets win32 qui implémentent l’interface IWidgetProvider. Le système active l’interface avec un appel à CoCreateInstance. L’attribut ClassId spécifie le CLSID du serveur CreateInstance qui implémente l’interface IWidgetProvider.
Attribut | Type | Requise | Description | Valeur par défaut |
---|---|---|---|---|
ClassId | GUID | Oui | CLSID du serveur CreateInstance qui implémente le fournisseur de widgets. | S.O. |
ActivateApplication
Lorsque ActivateApplication est spécifié, le fournisseur de widgets est activé via la ligne de commande, avec les arguments fournis sous forme de chaînes JSON encodées en base64url. Il est recommandé que les fournisseurs de widgets utilisent le type d’activation CreateInstance . Pour plus d’informations sur le format de ligne de commande ActivateApplication, consultez Protocole ActivateApplication du fournisseur de widgets.
Définitions
Élément conteneur pour une ou plusieurs inscriptions de widgets.
Définition
Représente l’inscription d’un widget unique.
Attribut | Type | Requise | Description | Valeur par défaut |
---|---|---|---|---|
Id | string | Oui | ID qui identifie le widget. Cette valeur est également affichée dans la barre de navigation du sélecteur de widgets. Les implémentations de fournisseur de widgets utilisent cette chaîne pour déterminer ou spécifier les widgets de l’application qui sont référencés pour chaque opération. Cette chaîne doit être unique pour tous les widgets définis dans le fichier manifeste de l’application. | S.O. |
DisplayName | string | Oui | Nom du widget affiché sur l’hôte de widgets. | S.O. |
Description | string | Oui | Brève description du widget. | S.O. |
Allowmultiple | booléen | Non | Affectez la valeur false si une seule instance de ce widget est prise en charge. Cet attribut est facultatif, et la valeur par défaut est true. | true |
IsCustomizable | booléen | Non | Introduit dans le SDK d’application Windows 1.4. Affectez la valeur true si votre application prend en charge la personnalisation du widget. Cela entraîne l’affichage du bouton Personnaliser le widget dans le menu de points de suspension du widget. | false |
AdditionalInfoUri | string | Non | URI qui peut être associé au widget à utiliser lorsque l’utilisateur clique sur la barre de titre du cadre du widget ou lorsque vous cliquez sur l’élément Optimisé par l’élément de son menu contextuel. | N/A |
ExcludedRegions | string | Non | Liste des régions où le widget ne doit pas être disponible. Les widgets peuvent spécifier ExcludedRegions ou ExclusiveRegions , mais ne doivent pas spécifier les deux dans une définition de widget unique. La valeur de l’attribut est une liste séparée par des virgules de deux codes de région de caractères. | N/A |
ExclusiveRegions | string | Non | Liste des seules régions où le widget doit être disponible. Les widgets peuvent spécifier ExcludedRegions ou ExclusiveRegions , mais ne doivent pas spécifier les deux dans une définition de widget unique. La valeur de l’attribut est une liste séparée par des virgules de deux codes de région de caractères. | N/A |
Fonctionnalités
facultatif. Spécifie les capacités d’un widget unique. Si aucune capacité n’est déclarée, une capacité spécifiant une taille « large » est ajoutée par défaut.
Fonctionnalité
Spécifie une capacité pour un widget.
Taille
Spécifie les tailles prises en charge pour le widget associé.
Attribut | Type | Requise | Description | Valeur par défaut |
---|---|---|---|---|
Nom | string | Oui | Spécifie une taille prise en charge pour un widget. La valeur doit être l’une des suivantes : « small », « medium », « large » | S.O. |
ThemeResources
Spécifie des ressources de thème pour un widget.
Icônes
Élément conteneur pour un ou plusieurs éléments Icon.
Icon
Obligatoire. Spécifie une icône affichée dans la zone d’attribution du widget.
Attribut | Type | Requise | Description | Valeur par défaut |
---|---|---|---|---|
Chemin d’accès | string | Oui | Chemin relatif au package d’un fichier image d’icône. | S.O. |
Captures d’écran
Obligatoire. Spécifie une ou plusieurs captures d’écran du widget.
Screenshot
Obligatoire. Spécifie une capture d’écran pour un widget. Cette capture d’écran s’affiche dans l’hôte de widgets dans la boîte de dialogue Ajouter des widgets lorsque l’utilisateur sélectionne des widgets à ajouter à l’hôte de widgets. Si vous fournissez une capture d’écran pour les éléments facultatifs DarkMode ou LightMode listés ci-dessous, l’hôte de widgets utilise la capture d’écran correspondant au thème de l’appareil actuel. Si vous ne fournissez pas de capture d’écran pour le thème de l’appareil actuel, l’image fournie dans cet élément Screenshot sera utilisée. Pour plus d’informations sur les exigences de conception pour les images de capture d’écran et les conventions de nommage des captures d’écran localisées, consultez Intégrer au sélecteur de widgets.
Remarque
Les captures d’écran du widget ne sont pas affichées dans la boîte de dialogue Ajouter des widgets du tableau de widgets dans la préversion actuelle.
Attribut | Type | Requise | Description | Valeur par défaut |
---|---|---|---|---|
Chemin d’accès | string | Oui | Chemin relatif au package d’un fichier image de capture d’écran. | S.O. |
DisplayAltText | string | Non | Texte de remplacement de l’image, à des fins d’accessibilité. | S.O. |
DarkMode
facultatif. Spécifie les ressources de thème applicables lorsque le mode sombre est actif sur l’appareil. Si vous spécifiez une ou plusieurs images de capture d’écran dans l’élément facultatif DarkMode, l’hôte de widgets sélectionne ces captures d’écran lorsque l’appareil est en mode sombre. Si vous ne fournissez pas d’image en mode sombre, l’hôte de widgets utilise l’élément Screenshot obligatoire de niveau supérieur décrit ci-dessus. Pour plus d’informations sur les exigences de conception pour les images de capture d’écran et les conventions de nommage des captures d’écran localisées, consultez Intégrer au sélecteur de widgets.
LightMode
facultatif. Spécifie les ressources de thème applicables lorsque le mode clair est actif sur l’appareil. Si vous fournissez une ou plusieurs images de capture d’écran dans l’élément facultatif LightMode, l’hôte de widgets sélectionne ces captures d’écran lorsque l’appareil est en mode clair. Si vous ne fournissez pas d’image en mode clair, l’hôte de widgets utilise l’élément Screenshot obligatoire de niveau supérieur décrit ci-dessus. Pour plus d’informations sur les exigences de conception pour les images de capture d’écran et les conventions de nommage des captures d’écran localisées, consultez Intégrer au sélecteur de widgets.
Exemple
L’exemple de code suivant illustre l’utilisation du format XML de manifeste du package de widget.
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.widgets" DisplayName="Widget Test App" Id="ContosoWidgetApp" PublicFolder="Public">
<uap3:Properties>
<WidgetProvider>
<ProviderIcons>
<Icon Path="Images\StoreIcon.png" />
</ProviderIcons>
<Activation>
<!-- App exports COM interface which implements IWidgetProvider -->
<CreateInstance ClassId="XXXXXXXX-XXXX-XXXX-XXXX-D3397A3FF15C" />
</Activation>
<Definitions>
<Definition
Id="Weather_Widget"
DisplayName="Microsoft Weather Widget"
Description="Weather Widget Description"
AdditionalInfoUri="https://contoso.com/widgets/Weather"
ExclusiveRegions="US,UK"
AllowMultiple="true">
<Capabilities>
<Capability>
<Size Name="small" />
</Capability>
<Capability>
<Size Name="medium" />
</Capability>
<Capability>
<Size Name="large" />
</Capability>
</Capabilities>
<ThemeResources>
<Icons>
<Icon Path="Assets\icon.png" />
<Icon Path="Assets\icon.gif" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\background.png" DisplayAltText ="For accessibility"/>
</Screenshots>
<!-- DarkMode and LightMode are optional -->
<DarkMode>
<Icons>
<Icon Path="Assets\dark.png" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\darkBackground.png" DisplayAltText ="For accessibility"/>
</Screenshots>
</DarkMode>
<LightMode>
<Icons>
<Icon Path="Assets\light.png" />
</Icons>
<Screenshots>
<Screenshot Path="Assets\lightBackground.png"/>
</Screenshots>
</LightMode>
</ThemeResources>
</Definition>
</Definitions>
</WidgetProvider>
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
Windows developer