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.
App-Erweiterungseigenschaften sind ein benutzerdefiniertes Metadatenfeld, das vom App-Erweiterungsentwickler im App-Manifest bereitgestellt wird. App-Erweiterungshosts können diese Metadaten lesen, wenn Sie App-Erweiterungen untersuchen, ohne Inhalte aus der App-Erweiterung laden zu müssen.
Eigenschaften sind ein optionales, aber sehr nützliches Feature. Es gibt eine Vielzahl möglicher Metadaten, die Sie beim Erstellen einer App-Erweiterungshostplattform benötigen, z. B. Version, Funktionen, Listen unterstützter Dateitypen oder anderer Daten, die vor dem Laden einer App-Erweiterung hilfreich sind. Solche Informationen können sogar bestimmen, wie Sie eine App-Erweiterung laden. Anstatt zu versuchen, alle Felder vorherzubestimmen, die Sie möglicherweise benötigen, stellen App-Erweiterungseigenschaften eine offene Canvas bereit, um genau zu definieren, was Sie benötigen, auf eine Weise, die am besten zu Ihrer App passt.
Vorteile von App-Erweiterungseigenschaften
Es gibt zwei wichtige Gründe, warum Sie die Vorteile von App-Erweiterungseigenschaften nutzen sollten:
Es ist eine einfache und sichere Möglichkeit, grundlegende oder wichtige Metadaten zu Ihrer App-Erweiterungsplattform zu speichern, ohne diese Informationen in Dateien einfügen zu müssen. Sie können es für wichtige Konzepte wie Versionsverwaltung, Berechtigungen und als Erzwingung verwenden. Ihre App könnte beispielsweise darauf bestehen, dass ein
version
Feld definiert und in den Eigenschaften vorhanden ist und ein anderes Ladeverhalten basierend auf diesem Wert aufweist.Da die Informationen im App-Manifest gespeichert werden, kann sie indiziert und in Zukunft über eine API verfügbar gemacht werden. Das bedeutet, dass Sie es dem Benutzer zur Anzeige bringen können oder verfeinerte Suchen nach App-Erweiterungen für spezifische Eigenschaften durchführen können, ohne die Erweiterung zuerst bereitstellen und laden zu müssen.
So deklarieren Sie Eigenschaften
Eigenschaften werden in der Datei "Package.appxmanifest" in Ihrem Paket deklariert. Sie können zur Laufzeit vom Erweiterungshost als Eigenschaftensatz gelesen werden. Da der Host die Plattform definiert, liegt es an dem Host, den Erweiterungsentwicklern zu kommunizieren, welche Eigenschaften verfügbar sind und in die AppExtension
Deklaration eingefügt werden sollten.
Hinweis
Der Manifest-Designer in Visual Studio unterstützt nicht die Möglichkeit, Eigenschaften zu definieren. Sie müssen das Package.appxmanifest direkt bearbeiten, um Eigenschaften zu definieren.
Um Eigenschaften zu deklarieren, fügen Sie sie in das <uap3:Properties/>
Element unter der <uap3:AppExtension>
Deklaration ein. Hier ist eine Beispieldeklaration <uap3:AppExtension>
für Microsoft Edge, die von Edge unterstützte Eigenschaften verwendet.
<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 hat einen bekannten Eigenschaftswert Capabilities
mit einer Liste der deklarierten Erweiterungsfunktionen definiert. Als Host können Sie die gewünschten Eigenschaften in Ihren App-Erweiterungen unterstützen. Da es sich hierbei um einen Eigenschaftensatz handelt, können Sie auch geschachtelte Eigenschaften haben. Es empfiehlt sich, eine Stammversionseigenschaft zu verwenden, die Sie verwenden können, wenn Sie die Formate Ihrer Erweiterungen in Zukunft ändern. Wir haben absichtlich Version
nicht als Attribut in App-Erweiterungen platziert, damit Sie nicht künstlich auf die Verwendung unserer Versionssemantik beschränkt sind. Stattdessen haben wir Eigenschaften erstellt, bei denen die Version eines von vielen benutzerdefinierten Attributen sein könnte, in beliebiger Weise und beliebigem Format Ihrer Wahl, und wie gewünscht verarbeitet wird.
Verwenden von Eigenschaften
Angenommen, Sie haben eine einfache Eigenschaft in einer App-Erweiterung, die eine Version beschreibt, z. B. die folgende.
<uap3:Properties>
<Version>1.0.0.0</Version>
</uap3:Properties>
Um diese Daten zur Laufzeit abzurufen, rufen Sie einfach GetExtensionPropertiesAsync() für die App-Erweiterungen auf.
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();
}
}