Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las propiedades de la extensión de aplicación son un campo de metadatos personalizado proporcionado por el desarrollador de extensiones de aplicación en su manifiesto de aplicación. Los hosts de la extensión de aplicación pueden leer estos metadatos al examinar las extensiones de aplicación sin tener que cargar su contenido.
Las propiedades son una característica opcional pero muy útil. Hay una amplia gama de metadatos posibles que puede requerir al crear una plataforma host de extensión de aplicación, como la versión, las funcionalidades, las listas de tipos de archivo admitidos u otros datos que resulta útil saber antes de cargar una extensión de aplicación. Esta información puede incluso determinar cómo se carga una extensión de aplicación. En lugar de intentar predecir todos los campos que podría necesitar, las propiedades de la extensión de la aplicación proporcionan un lienzo abierto para definir exactamente lo que necesita de la manera más adecuada para la aplicación.
Ventajas de las propiedades de la extensión de aplicación
Hay dos razones importantes por las que debe aprovechar las propiedades de la extensión de la aplicación:
Es una manera fácil y segura de almacenar metadatos básicos o importantes sobre la plataforma de extensión de la aplicación sin tener que colocar esa información en archivos. Puede usarlo para conceptos importantes como control de versiones, permisos y como aplicación. Por ejemplo, la aplicación podría insistir en que un
versioncampo está definido y presente en las propiedades y que tiene un comportamiento de carga diferente en función de ese valor.Dado que la información se almacena en el manifiesto de la aplicación, se puede indexar y poner a disposición a través de una API en el futuro. Esto significa que puede destacarlo para mostrarlo al usuario o realizar búsquedas más refinadas de propiedades específicas en la extensión de aplicación, sin tener que implementar y cargar primero la extensión.
Cómo declarar propiedades
Las propiedades se declaran en el archivo Package.appxmanifest del paquete. Pueden ser leídos en tiempo de ejecución por el host de extensión como un conjunto de propiedades. Dado que el host define la plataforma, corresponde al host comunicarse con los desarrolladores de extensiones sobre qué propiedades están disponibles y deben colocarse en la declaración AppExtension.
Nota:
El diseñador de manifiestos de Visual Studio no admite la capacidad de definir propiedades. Debe editar Package.appxmanifest directamente para definir propiedades.
Para declarar propiedades, colóquelas en el elemento <uap3:Properties/> por debajo de su declaración <uap3:AppExtension>. Esta es una declaración de ejemplo <uap3:AppExtension> para Microsoft Edge que usa las propiedades admitidas por Edge.
<uap3:AppExtension Name="com.microsoft.edge.extension" Id="FirstExtension" PublicFolder="Extension" DisplayName="MyExtension">
<uap3:Properties>
<Capabilities>
<Capability Name="websiteContent" />
<Capability Name="websiteInfo" />
<Capability Name="browserWebRequest" />
<Capability Name="browserStorage" />
</Capabilities>
</uap3:Properties>
</uap3:AppExtension>
Edge ha definido un valor de propiedad conocido de Capabilities con una lista de funcionalidades de extensión declaradas. Como host, puedes admitir las propiedades que quieras en las extensiones de la aplicación. Dado que se trata de un conjunto de propiedades, también puede tener propiedades anidadas. Es una buena idea tener una propiedad de versión raíz que puede usar en caso de que cambie los formatos de las extensiones en el futuro. No pusimos Version intencionadamente como atributo de las extensiones de apps, para que no quedaras artificialmente limitado al uso de nuestra semántica de versionado. En su lugar, creamos propiedades en las que la versión podría ser uno de los muchos atributos definidos de manera personalizada, de la manera y el formato que desee y procesados como quiera.
Uso de las propiedades
Supongamos que tiene una propiedad simple en una extensión de aplicación que describe una versión, como la siguiente.
<uap3:Properties>
<Version>1.0.0.0</Version>
</uap3:Properties>
Para obtener estos datos en tiempo de ejecución, solo tiene que llamar a GetExtensionPropertiesAsync() en las extensiones de la aplicación.
string extensionVersion = "Unknown";
var properties = await ext.GetExtensionPropertiesAsync() as PropertySet;
if (properties != null)
{
if (properties.ContainsKey("Version"))
{
PropertySet versionProperty = properties["Version"] as PropertySet;
extensionVersion = versionProperty["#text"].ToString();
}
}