Bei der Entwicklung des App-Modells für Windows 8 und der neuen Apps im Metro-Stil war eine zentrale Anforderung an die Architektur, Kunden Apps bereitzustellen, die diese mit einem sicheren Gefühl verwenden können: mit dem Vertrauen, dass die Apps Ressourcen optimal nutzen, keine anderen Apps beeinträchtigen, Systemressourcen nur mit Ihrer Zustimmung verwenden, problemlos installiert und deinstalliert werden können usw.  Diese Attribute benötigen eine stabile Plattform und leistungsstarke Tools für Entwickler.  Für diese Bemühungen ist ein Neubeginn erforderlich, da eine Nachrüstung von bestehenden Systemen nicht möglich ist.  Windows 8 stellt diesbezüglich einen Neubeginn dar.  In diesem Beitrag werden einige unserer Bemühungen vorgestellt, die wir auf Plattformebene unternommen haben, um zuverlässige und vertrauenswürdige Apps im Metro-Stil zu ermöglichen.  Dieser Beitrag wurde von John Hazen verfasst, Program Manager in unserem Developer Experience-Team. – Steven

Eine der zentralen Grundlagen bei der Entwicklung der Windows 8-Plattform für Apps im Metro-Stil war, das Vertrauen der Benutzer in ihre Apps sicherzustellen. Dieses Ziel erfordert gemeinsame Anstrengungen. In diesem Beitrag soll unsere Vision für Vertrauen in und Zuverlässigkeit von Apps erläutert werden; außerdem erfahren Sie, wie Sie dies schon ab der ersten Entwurfsphase in Ihren Apps umsetzen können.

Zunächst einmal möchte ich den Begriff Vertrauen näher erläutern. Stellen Sie sich einen Kunden vor, der den Windows Store nach einer App im Metro-Stil durchsucht. Dabei sollten seine Gedanken ausschließlich um die App kreisen – und ob diese die richtige Wahl ist. Der Kunde sollte davon ausgehen – wenn nicht sogar erwarten – können, dass die App so reagiert, wie er sich dies vorstellt, d. h. sie sollte sich auf seinem System optimal verhalten, ausschließlich auf Daten und Informationen zugreifen, die autorisiert wurden, und sich harmonisch neben den anderen Anwendungen eingliedern.

Unser Ziel bei dieser Plattform besteht darin, dass alle großartige Apps entwickeln, die diese Vision in sich tragen, und daher von vornherein für Vertrauen sorgen. Zu diesem Zweck haben wir das Systems in allen Bereichen verbessert. Die folgende Grafik veranschaulicht unsere Bemühungen:

Diagramm mit Faktoren, die zum Vertrauen in Apps beitragen und die in der Bildunterschrift nochmals aufgeführt sind

Vertrauen in Apps: Windows 8 SDK für Apps im Metro-Stil, Zertifizierungskit für Windows-Apps, App-Signaturen,
App-Container, Bewertungen und Rezensionen, Store-Onboarding, Problemlose Installation, Telemetrie-Feedback

Dieser Beitrag beschäftigt sich zunächst mit den einzelnen Bereichen, um schließlich eingehend auf die App-Funktionen einzugehen. Doch zunächst einmal ein kurzer Überblick:

  • Windows Store – Für unsere Kunden beginnt alles mit dem Store, ihrer ersten Anlaufstelle für Apps im Metro-Stil. Damit Ihre App im Store angeboten werden kann, wird sie zunächst auf die Einhaltung technischer Anforderungen und Richtlinien überprüft, einschließlich einer Sicherheitsprüfung. Anschließend wird sie im Store veröffentlicht, wo sie von der Community bewertet und rezensiert wird. Durch die Kombination aus Onboarding und Rezensionen der Community können wir eine Umgebung schaffen, in der Kunden Apps vertrauensvoll testen können.
  • App-Installation – Windows 8 erledigt alle Details beim Bereitstellen von Apps für Sie, damit sich Ihre Kunden keine Sorgen machen müssen, dass das Installieren, Aktualisieren oder Deinstallieren einer App nachteilige Auswirkungen auf andere Apps hat.
  • SDK – Das Windows 8 SDK für Apps im Metro-Stil bietet klar definierte APIs, mit denen Sie zuverlässige Apps erstellen können, die die Onboarding-Anforderungen des Stores einhalten und Ihren Kunden eine optimale Nutzung ermöglichen.
  • App-Container und -Funktionen – In Windows 8 können Apps besser getrennt werden, als dies mit herkömmlichen Desktopanwendungen jemals möglich war. So können Sie Apps entwickeln, die auf eine vorhersehbare Weise miteinander interagieren, was einen einheitlicheren Ansatz für Ihre Kunden bedeutet.

Uns ist durchaus bewusst, dass Onboarding-Prozesse manipuliert, APIs missbraucht und SDK-Beschränkungen umgangen werden können, und dass auch App-Container keinen hundertprozentigen Schutz bieten. Dennoch sind wir zuversichtlich, dass sich unsere Bemühungen auszahlen, sodass Sie Apps entwickeln können, von denen die Kunden begeistert sein werden. Dieser mehrdimensionale Ansatz stellt die effektivste Möglichkeit dar, um Kundenvertrauen herzustellen. Jeder Bereich wird auch zukünftig weiter verbessert werden, sobald wir neue Erfahrungen sammeln. Doch zurück zum Thema Kundenvertrauen.

Der Windows Store:

Einige Mitglieder unseres Teams haben im Windows Store Blog bereits ausführlich über das allgemeine Design und die weiteren Pläne für den Store berichtet. Lesen Sie die Blogbeiträge zum Store, falls Sie dies noch nicht getan haben, da dieser eine zentrale Rolle dabei spielt, mit Ihren Kunden in Kontakt zu treten. Zunächst möchte ich einige Ansätze erläutern, durch die der Store ein Vertrauen in das App-Ökosystem schafft.

Zuerst einmal schafft der Onboarding-Prozess eine einheitliche Grundlage in Bezug auf die Qualität und Zuverlässigkeit von Apps. Durch die technischen Konformitätstests, die im Zertifizierungskit für Windows-Apps enthalten sind, wissen Sie bereits vor dem Übermitteln einer App, dass diese die erwarteten Standards einhält. In dem Maße, wie Sie und andere Entwickler Apps bereitstellen, die diese Standards einhalten, werden auch die Kunden mehr Freude daran haben, neue Apps zu entdecken und auszuprobieren – dies führt zu einem stabileren App-Ökosystem für alle.

Außerdem können Kunden durch den Store deutlich einfacher Bewertungen und Rezensionen abgeben. So werden die besten Apps ausgezeichnet und weitere Kunden dazu ermutigt, die am besten bewerteten Apps mit Vertrauen zu testen. Beachten Sie in der oben dargestellten Beispielseite für einen App-Eintrag nicht nur die hervorgehobenen Bereiche "Bewertung" und "Rezensionen" sondern auch zwei weitere wichtige Elemente. Vor dem Installieren einer neuen App können Kunden erkennen, über welche Berechtigungen die App nach der Installation verfügt (mehr dazu weiter unten in diesem Blog). Wenn sich der Kunde nach dem Installieren einer App Sorgen über App-Inhalt oder -Verhalten macht, kann er seine Bedenken umgehend an Microsoft berichten, damit wir uns gemeinsam mit Ihnen um die Behebung möglicher Probleme kümmern können. Indem Kunden eine Entscheidungshilfe erhalten, welche Apps am besten für sie geeignet sind, und ihnen die Möglichkeit gegeben wird, Anregungen und Feedback zu hinterlassen, können wir das Gesamtvertrauen in das App-Ökosystem von Windows 8 stärken.

Beispielseite für den App-Eintrag eines Spiels im Windows Store. Bewertungen, Rezensionen, Berechtigungen und der Link für Berichte zu dieser App sind hervorgehoben

Seite "App-Eintrag" im Windows Store

Außerdem werden im Store Telemetriedaten erfasst, die bei der Untersuchung von Problemen bei Kunden hilfreich sein können, einschließlich Art und Häufigkeit von Abstürzen. Diese automatisch erzeugten Telemetriedaten werden von uns auf Hinweise für ein unzuverlässiges Verhalten dieser App oder mangelnde Einhaltung der Kundenerwartungen überprüft. Wir möchten nicht nur das individuelle Feedback von Kunden aus Bewertungen und Rezensionen nutzen, sondern Ihnen auch Informationen darüber zur Verfügung stellen, wie Ihre App tatsächlich auf den Geräten der Kunden funktioniert. Auf Grundlage dieser Daten können Sie Ihre Apps so fortlaufend verbessern.

Auf diese Weise unterstützt Sie der Windows Store dabei, die Kunden zu erreichen, die Interesse an Ihren Apps haben, und stellt gleichzeitig eine optimale Benutzerfreundlichkeit für die Kunden sicher.

Apps mit nur einem Klick

Wenn Ihre Kunden auf der Seite "App-Eintrag" bereits auf Ihre App aufmerksam geworden sind, sollten diese Ihre App auch ganz einfach erhalten können. In Windows 8 kann eine App mit einem einzigen Klick auf eine Schaltfläche abgerufen werden. Ihre Kunden müssen sich nicht mehr durch langwierige Fragen oder Menüs klicken. Nach der Anmeldung im Store können Kunden eine gewünschte App durch einen einzigen Klick und die anschließende Bestätigung des Kaufs abrufen.

Das Beste für Sie ist, dass Sie für diese großartige Benutzererfahrung keine einzige Zeile Installationscode schreiben müssen, da dies bereits als Teil von Windows 8 bereitgestellt wird. Dies betrifft nicht nur die Installation: durch digitale Signaturen stellt Windows die Integrität Ihrer App sicher – vom Store bis zur Installation und selbst dann, wenn Ihre App heruntergeladen und auf den Systemen Ihrer Kunden ausgeführt wird. Wenn Windows feststellt, dass die App nicht mehr mit ihrer digitalen Signatur übereinstimmt, erhält der Kunde die erforderlichen Informationen zum Herunterladen einer korrigierten Version aus dem Store.

Da Windows jede App an einem eigenen Speicherort mit separaten und privaten Bereichen für die Daten und Einstellungen der einzelnen Apps installiert, müssen sich Kunden keine Sorgen darüber machen, dass die Installation oder Deinstallation einer App Auswirkungen auf das Verhalten anderer Apps auf dem Computer haben könnte. Kunden werden mehr Apps als jemals zuvor testen, da das Installieren oder Deinstallieren von Apps langfristig keine negativen Auswirkungen mehr auf die Benutzerfreundlichkeit hat – im Gegenteil: mit Windows 8-Verträgen verbessert sich die Benutzerfreundlichkeit durch jede installierte App. Da andere Apps die Benutzerfreundlichkeit Ihrer App für den Kunden kaum mehr beeinträchtigen können, profitieren auch Sie von diesen Vorteilen.

Durch eine einzige, bestätigte und einheitliche Methode für die Installation von Apps wird nicht nur Ihre Arbeit erheblich erleichtert. Auch Ihre Kunden profitieren von einer einfachen und positiven Erfahrung, durch die sie ermutigt werden, weitere Apps auszuprobieren. Weitere Informationen zur Bereitstellung von Apps erhalten Sie unter App-Pakete und -Bereitstellung.

Windows 8 SDK für Apps im Metro-Stil

Je besser die Erfahrungen der Kunden mit Ihren Apps sind, desto mehr steigt deren Bereitschaft, neue Apps und Updates auszuprobieren, wenn Sie diese veröffentlichen. Das Windows 8 SDK für Apps im Metro-Stil bietet Ihnen eine gute Basis zum Erstellen von Apps, die Ihre Kunden ohne Zögern installieren werden.

Wir haben uns viele Gedanken um die APIs gemacht, die wir für Apps im Metro-Stil anbieten – nicht nur um die Windows-Programmierumgebung zu vereinfachen, sondern auch, um eine ausführlich getestete Plattform bereitzustellen, auf der Sie Ihre Apps mit dem Vertrauen erstellen können, dass diese optimal mit dem Modell für Apps im Windows 8-Metro-Stil funktionieren.

Verwenden Sie keine APIs, die nicht im SDK enthalten sind. Dies widerspricht der Kundenerwartung an Ihre App. Wenn Sie APIs verwenden, die nicht im SDK enthalten sind, besteht die Gefahr, dass diese in der aktuellen oder in zukünftigen Versionen nicht mit den Apps im Metro-Stil kompatibel sind. Dies kann dazu führen, dass Ihre App nicht bei allen Kunden ordnungsgemäß funktioniert. Außerdem funktionieren diese APIs möglicherweise nicht ordnungsgemäß in der asynchronen Umgebung, die eine der Grundlagen für das Design von Apps im Metro-Stil darstellt. Zudem können diese APIs das Kundenvertrauen beeinträchtigen, indem sie auf Ressourcen oder Daten zugreifen, mit denen Apps im Metro-Stil normalerweise nicht interagieren. Aus diesen Gründen haben wir Überprüfungen in das Zertifizierungskit für Windows-Apps integriert, die Sie auf Bereiche hinweisen, in denen Sie u. U. unbeabsichtigt Schnittstellen aufgerufen haben, die nicht durch das SDK bereitgestellt werden.

Auch wenn es möglich ist, Aufrufe von APIs, die nicht im SDK enthalten sind, zu verbergen, stellt dies eine Verletzung des Kundenvertrauens und einen Verstoß gegen die Store-Richtlinien dar. Diese Plattform wurde nicht zuletzt entwickelt, um Entwickler wie Sie beim Erstellen faszinierender Apps zu unterstützen, die reibungslos mit dem System und anderen Apps und Geräten ausgeführt werden können, und um so Kunden zu begeistern. Die Arbeit mit dem Metro-Stil-SDK ist eine der Grundlagen, um dieses Ziel zu erreichen.

Funktionalität – gemeinsam und doch einzeln

Ein "sauberer" Installationsvorgang ist von großer Bedeutung für Ihre Kunden. Mit dem SDK können Sie Apps erstellen, die optimal in das System integriert sind. Außerdem erwarten Kunden ein hohes Maß an Zuverlässigkeit – von Ihrer App und unserer Plattform. Wir helfen Ihnen dabei, diese Zuverlässigkeit zu erreichen, indem wir Apps im Metro-Stil klarer von einander trennen, als dies bei herkömmlichen Desktopanwendungen in Windows möglich wäre. In Windows 8 wird jede App im Metro-Stil im Kontext eines eindeutigen App-Containers ausgeführt, der die App und deren Daten von anderen Apps im Metro-Stil isoliert.

App-Container bieten einige Merkmale, die alle Apps im Metro-Stil aufweisen:

  • Sie stellen eine dedizierte Umgebung für Ihre App bereit, einschließlich eines eigenen Speichers für Daten und Einstellungen. Daher gibt es nur eine minimale Gefahr, dass die Daten, Einstellungen oder das Verhalten Ihrer App von anderen Apps im Metro-Stil beeinträchtigt werden.
  • Sie stellen sicher, dass Ihre App nicht versehentlich die Zuverlässigkeit der Windows-Plattform beeinträchtigt oder die Daten und Geräte Ihrer Kunden auf nicht vorgesehene Weise nutzt.
  • Sie bieten eine klar definierte Möglichkeit zur Erweiterung der Funktionen Ihrer App durch Deklarationen im Manifest und Bereitstellen für Kunden auf der Seite "App-Eintrag".

Durch diese klare Trennung ist es erheblich einfacher, Apps zu erstellen, die zuverlässig sind und die Belange des Benutzers respektieren. Gleichzeitig sollen Apps optimal miteinander interagieren. Windows 8 stellt mehrere Methoden bereit, mit denen Apps im Metro-Stil mit anderen Apps und der Plattform interagieren können, um überzeugende Funktionen zu ermöglichen. Hierzu zählen beispielsweise:

  • App-Verträge, durch die Apps im Metro-Stil an die Benutzeroberfläche des Systems gebunden werden.
  • Die Dateiauswahl, durch die Ihre App mit den vom Benutzer ausgewählten Daten interagieren kann.
  • Deklarationen für App-Funktionen, durch die Ihre App programmatisch mit Geräten und Daten interagieren kann, wenn dies für die Funktion erforderlich ist.

Dies alles sind klar definierte Möglichkeiten, die Ihrer App einen intensiveren Austausch mit anderen Apps und dem System ermöglichen. Der App-Container dient dazu, die Erwartungen Ihrer Kunden in Bezug auf Zuverlässigkeit und den verantwortungsvollen Umgang mit System und Daten zu erfüllen. Die Einschränkungen des App-Containers wurden entwickelt, um die Erwartungen der Kunden in Bezug auf ein konsistentes und intuitives Verhalten der Apps umzusetzen. Wenn Sie Techniken verwenden, mit denen Code außerhalb des App-Containers ausgeführt werden kann, stellt dies eine Verletzung des Kundenvertrauens und einen Verstoß gegen die Store-Richtlinien dar.

In den Diskussionen, die wir während des Preview-Zeitraums mit Entwicklern geführt haben, sind uns Apps aufgefallen, bei denen einige dieser Methoden entweder falsch interpretiert oder versehentlich falsch eingesetzt wurden. Daher sollen die App-Funktionen hier eingehend behandelt werden.

Deklarationen für App-Funktionen

Der App-Container kann mithilfe von Funktionsdeklarationen auf unterschiedlichste Weise erweitert werden. Jede dieser Deklarationen wurde für bestimmte Szenarien entwickelt. Daher empfehlen wir Ihnen, sie nur unter bestimmten Umständen zu verwenden. Die Funktionen lassen sich in 4 Hauptklassen unterteilen:

  • Datenbibliotheken: Apps verfügen standardmäßig über keinen Zugriff auf die Datenbibliotheken des Kunden, beispielsweise die Musikbibliothek oder die Dokumentbibliothek. Für die Interaktion mit diesen Bibliotheken empfehlen wir die Verwendung der Dateiauswahl. In seltenen Fällen kann es jedoch erforderlich sein, dass Ihre App über die Fähigkeit verfügt, Daten an diesen Speicherorten direkt zu lesen und zu verwalten.
  • Gerätezugriff: Apps können standardmäßig keine Geräte verwenden, die sensibel in Bezug auf den Datenschutz des Benutzers sein könnten, einschließlich Webcam, Mikrofon und Standort. Wenn Apps diese Geräte benötigen, müssen sie dies angeben und die Zustimmung des Benutzers erhalten.
  • Netzwerkzugriff: Standardmäßig können Apps nicht auf die Netzwerke des Benutzers zugreifen. Da die meisten Apps jedoch mit dem Internet kommunizieren, haben wir diese spezielle Funktion in allen Visual Studio-Vorlagen für Apps im Metro-Stil aktiviert. Wenn Ihre App mehr als den einfachen Zugriff auf das Internet benötigt, finden Sie weiter unten Informationen zu den verfügbaren Optionen.
  • Benutzeridentität: Diese Funktionen bieten direkten Zugriff auf die Unternehmensanmeldeinformationen eines bestimmten Kunden oder auf Zertifikate, die mit dessen Identität verknüpft sind. Auch wenn diese Funktionen nur selten benötigt werden, sind sie für bestimmte Unternehmens-Apps erforderlich, und werden etwa bei Transaktionen im Bankwesen eingesetzt, bei denen eine Smartcard für die Autorisierung erforderlich ist.

Das Deklarieren einer Funktion in diesen Kategorien ist genauso einfach, wie das Aktivieren eines Kontrollkästchens im Manifest-Designer von Visual Studio. Fügen Sie diese Funktionen jedoch nur hinzu, wenn sie unbedingt erforderlich sind, um das Szenario für eine App umzusetzen. Bei der Consumer Preview sind uns einige Apps im Store aufgefallen, für die sämtliche oder einzelne Funktionen deklariert wurden, obwohl dies für die App nicht erforderlich war. Da relativ wenige Funktionen verfügbar sind, lohnt es sich, jede Funktion und ihre Verwendung ausführlich zu erläutern.

Screenshot des Manifest-Designers für Visual Studio mit der Registerkarte "Funktionen", auf der Systemfunktionen oder Geräte für die Verwendung durch die App ausgewählt werden können

Der Manifest-Designer von Visual Studio

Datenbibliotheken

Durch diese Funktionen erhält Ihre App Zugriff auf Benutzerdaten, die möglicherweise nicht innerhalb der App erstellt wurden. Benutzer erwarten, dass Apps verantwortungsvoll auf ihre privaten Daten zugreifen. Sie sollten das Vertrauen belohnen, das Benutzer Ihrer App entgegenbringen, indem Sie nur den minimal erforderlichen Zugriff deklarieren. In den meisten Fällen können Sie diese Funktionen vollständig umgehen, indem Sie die Dateiauswahl verwenden, mit der der Benutzer alle Dateien auf dem Computer oder im Netzwerk durchsuchen kann. Beispielsweise können Sie die Dateiauswahl verwenden, um Ihrer App die Funktion "Datei öffnen" hinzuzufügen oder um die Funktion "Speichern unter" bereitzustellen, damit der Benutzer Inhalte aus Ihrer App in seinen Bibliotheken oder auf Wechseldatenträgern speichern kann.

Manifest-Deklaration

Bereitgestellte Funktion

musicLibrary

Stellt die Funktion zum Hinzufügen, Ändern oder Löschen von Dateien in der Musikbibliothek auf einem lokalen PC oder auf PCs in der Heimnetzgruppe bereit.

videoLibrary

Stellt die Funktion zum Hinzufügen, Ändern oder Löschen von Dateien in der Videobibliothek auf einem lokalen PC oder auf PCs in der Heimnetzgruppe bereit.

pictureLibrary

Stellt die Funktion zum Hinzufügen, Ändern oder Löschen von Dateien in der Bildbibliothek auf einem lokalen PC oder auf PCs in der Heimnetzgruppe bereit.

documentsLibrary

Stellt die Funktion zum Hinzufügen, Ändern oder Löschen von Dateien in der Dokumentbibliothek auf einem lokalen PC bereit. Die App kann nur auf Dateitypen in der Dokumentbibliothek zugreifen, die mit der Deklaration "Dateitypzuweisungen" definiert wurden. Die App kann nicht auf Dokumentbibliotheken auf PCs in der Heimnetzgruppe zugreifen.

removableStorage

Stellt die Funktion zum Hinzufügen, Ändern oder Löschen von Dateien auf Wechseldatenträgern bereit. Die App kann nur auf Dateitypen auf Wechseldatenträgern zugreifen, die im Manifest mit der Deklaration "Dateitypzuweisungen" definiert wurden. Die App kann nicht auf Wechseldatenträger von PCs in der Heimnetzgruppe zugreifen.

Bei der Consumer Preview sind uns eingereichte Apps aufgefallen, für die diese Funktionen deklariert wurden, obwohl dies nicht erforderlich war. Beispielsweise wurde "documentsLibrary" aus verschiedenen Gründen deklariert, z. B.:

  • Speichern von anwendungsspezifischen Einstellungen in der Dokumentbibliothek. Für diese Funktion ist der private Speicher vorgesehen. Weitere Informationen zu Anwendungseinstellungen und Speicher finden Sie hier.
  • Speichern einer vom Benutzer generierten Datei. Diese Funktion wird sinnvoller durch die Dateiauswahl bereitgestellt, durch die der Benutzer die Datei an einem beliebigen Speicherort speichern kann, einschließlich der Dokumentbibliothek.
  • Freigeben eines Dokuments für eine andere App. Für diesen Zweck wurde der Freigabevertrag entwickelt.

Wenn Ihre App im System als primärer Handler für einen bestimmten Dateityp verwendet werden soll, z. B. bei einer Faxanzeige, die für alle TIFF-Dateien in der Dokumentbibliothek des Benutzers zuständig ist, können Sie diese Funktion deklarieren.

Gerätezugriff

Viele Geräte, beispielsweise Ausrichtungssensoren und Beschleunigungsmesser, sind für jede App verfügbar. Für die meisten Kunden spielt der Datenschutz auf manchen Geräten jedoch eine größere Rolle als auf anderen, wenn sie sich für diesen Themenbereich interessieren. Für solche Geräte können Sie eine Vielzahl großartiger Apps entwickeln. Beispielsweise können Sie für ein Spiel, bei dem gemeinsames Spielen möglich ist, mit dem Näherungssensor eine Verbindung zwischen unterschiedlichen Geräten herstellen.

Da diese Geräte eng mit dem Datenschutz des Benutzers zusammenhängen, wird durch Windows 8 bei der Deklaration dieser Funktion sichergestellt, dass der Benutzer den Zugriff genehmigen muss, wenn Ihre App das erste Mal auf das entsprechende Gerät zugreifen möchte. Wenn Ihre App beispielsweise Kartenfunktionen unterstützt, möchten Sie möglicherweise auf die Geolocation-Daten des Kunden zugreifen. Wenn Ihre App das erste Mal versucht, diese Informationen abzurufen, wird der Benutzer aufgefordert, dem Zugriff auf diese Daten zuzustimmen. Diese Zustimmung bleibt gültig, bis der Benutzer den Zugriff zu einem späteren Zeitpunkt unter "Einstellungen" entfernt. Da der Benutzer den Zugriff der App auf diese Geräte auch dann ablehnen kann, wenn Sie diese Funktion zum Manifest hinzugefügt haben, sollten Sie Ihre App so entwerfen, dass der fehlende Zugriff elegant behandelt wird. Wenn der Kunde beispielsweise den Zugriff der App auf das integrierte GPS abgelehnt hat, können Sie Ihn stattdessen dazu auffordern, seine Position auf einer Karte auszuwählen.

Manifest-Deklaration

Bereitgestellte Funktion

location

Ermöglicht den Zugriff auf die aktuelle Position, die von dedizierter Hardware, z. B. von einem GPS-Sensor im PC, abgerufen oder durch Netzwerkinformationen bereitgestellt wird.

webcam

Ermöglicht den Zugriff auf den Videofeed einer Webcam. So kann die App Fotos oder Filme von verbundenen Webcams erfassen.

microphone

Ermöglicht den Zugriff auf den Audiofeed eines Mikrofons. So kann die App Audiosignale von angeschlossenen Mikrofonen aufzeichnen.

proximity

Stellt die Funktion bereit, um mithilfe von Nahfeldfunksignalen eine Verbindung zu Geräten in der unmittelbaren Umgebung herzustellen. Die Nahfeldkommunikation kann verwendet werden, um Dateien zu senden oder um mit einer App zu kommunizieren, die sich auf einem Gerät in der unmittelbaren Umgebung befindet.

Netzwerkzugriff

Die meisten Apps benötigen eine Internetverbindung. Daher haben wir die Funktion "internetClient" standardmäßig in alle Visual Studio-Vorlagen für Apps im Metro-Stil integriert. Wenn für Ihre App keine Kommunikation über das Internet erforderlich ist, sollten Sie diese Funktion entfernen. Die Funktion "internetClientServer" wird im Allgemeinen in Peer-to-Peer (P2P)-Szenarien verwendet, beispielsweise für Spiele oder VoIP. Sie sollten diese Funktion jedoch nur verwenden, wenn Ihre App einen Port in der Firewall öffnen muss. Verwenden Sie die Funktion "privateNetworkClientServer", wenn Ihre App in privaten Netzwerken kommunizieren muss, z. B. für die Kommunikation zwischen Geräten in einem Privathaushalt oder für Verbindungen über Unternehmensnetzwerke.

Manifest-Deklaration

Bereitgestellte Funktion

internetClient

Stellt ausgehenden Zugriff auf das Internet und Netzwerke an öffentlichen Orten, z. B. Flughäfen oder Cafés, bereit. Diese Funktion sollte für die meisten Apps, die auf das Internet zugreifen müssen, verwendet werden.

internetClientServer

Stellt eingehenden und ausgehenden Zugriff auf das Internet und Netzwerke an öffentlichen Orten, z. B. Flughäfen oder Cafés, bereit. Diese Funktion ist eine Obermenge von "internetClient". "internetClient" muss nicht aktiviert sein, wenn diese Funktion aktiviert ist.

privateNetworkClientServer

Stellt eingehenden und ausgehenden Zugriff auf Intranetnetzwerke bereit, die über einen authentifizierten Domänencontroller verfügen, oder die vom Benutzer als Heim- oder Arbeitsplatznetzwerke festgelegt wurden.

Benutzeridentität

Diese Funktionen sind für die meisten Entwickler nicht von Bedeutung. Die Verwendung dieser Funktionen ist stark eingeschränkt und unterliegt zusätzlichen Onboarding-Richtlinien und -Überprüfungen. In einigen Fällen sind diese Funktionen jedoch notwendig und angemessen. Beispielsweise ist bei einigen Banken eine zweistufige Authentifizierung erforderlich, für die Kunden eine Smartcard mit einem digitalen Zertifikat bereitstellen müssen, durch das ihre Identität bestätigt wird. Andere Apps, die in erster Linie für Geschäftskunden entwickelt werden, benötigen möglicherweise Zugriff auf Unternehmensressourcen, für die Domänenanmeldeinformationen erforderlich sind.

Manifest-Deklaration

Bereitgestellte Funktion

enterpriseAuthentication

Bietet die Möglichkeit, auf Intranetressourcen von Unternehmen zuzugreifen, für die Domänenanmeldeinformationen erforderlich sind.

sharedUserCertificates

Bietet die Möglichkeit, zur Überprüfung der Benutzeridentität auf Software- und Hardwarezertifikate (z. B. Smartcardzertifikate) zuzugreifen. Wenn die verbundenen APIs zur Laufzeit aufgerufen werden, muss der Benutzer eine Aktion ausführen (z. B. Karte einführen, Zertifikat auswählen). Diese Funktion ist nicht erforderlich, wenn Ihre App ein privates Zertifikat über eine Zertifikatdeklaration enthält.

Vertrauensbildung

Unsere Kunden möchten Windows 8 und Ihre Apps sicher genießen. Die Entwicklungsumgebung für Apps im Metro-Stil wurde entwickelt, damit Sie Apps erstellen können, die jeder Kunde vertrauensvoll testen und kaufen kann. Dies führt zu einem konstruktiven Kreislauf, bei dem der Kunde sich über eine Vielzahl von Apps freut und diese kauft, wodurch sich für Entwickler wiederum neue Möglichkeiten ergeben, weitere großartige Apps im Metro-Stil zu entwickeln und anzubieten.

Wie bereits zu Beginn angemerkt, sind dies Bereiche, an denen wir gemeinsam beteiligt sind. Wir sind überzeugt, dass unsere gemeinsamen Investitionen in dieses neue Ökosystem Sie bei der Entwicklung von Apps unterstützen, von denen unsere Kunden begeistert sein werden. Wir freuen uns darauf, gemeinsam mit Ihnen neue und faszinierende Erlebnisse für unsere gemeinsamen Kunden zu entwickeln.

– John Hazen