Richtlinien für Verbindungsnutzungsdaten

Applies to Windows and Windows Phone

Befolgen Sie bei der Verwendung der Windows-Runtime-Netzwerkinformations-APIs in Ihrer verbundenen App die folgenden Empfehlungen.

Ändern des App-Verhaltens entsprechend dem Netzwerkkostentyp

Obwohl Windows 8 automatisch Konnektivitätsoptionen bereitstellt, wenn ein Gerät neue Netzwerke erkennt, gibt es keine Garantie dafür, dass der Übergang von vorhandenen Verbindungen zu neuen Netzwerken für alle Vorgänge nahtlos ist. Eine Windows Store-App, die Verbindungen mit Zielen im Internet herstellt, sollte mithilfe der Netzwerkinformations-APIs Kosteninformationen und Statusänderungsereignisse für das Netzwerk abrufen, in dem sie Daten sendet und empfängt.

Verwenden Sie den NetworkCostType-Wert, der für alle Verbindungen angegeben wird, um das zugehörige Verhalten entsprechend zu ändern:

NetzwerkkostentypEmpfohlenes App-Verhalten

Uneingeschränkt

  • Verwenden Sie eine beliebige Netzwerkverbindung.

Variabel/Datenbegrenzung bald erreicht

  • Verzögern Sie Vorgänge mit niedrigerer Priorität oder verschieben Sie sie, bis ein uneingeschränktes Netzwerk verfügbar ist.
  • Beim Streamen von Inhalten, wie Filmen oder Videos, verwenden Sie eine niedrigere Bitrate. Wenn Ihre App beispielsweise Videos in HD-Qualität streamt, sollten Sie bei getakteten Netzwerken einen Standard Definition-Stream verwenden.
  • Nutzen Sie weniger Bandbreite. Wechseln Sie beim Abrufen von E-Mails beispielsweise in einen Modus, in dem nur Header abgerufen werden.
  • Verwenden Sie das Netzwerk nicht so häufig. Eine Beispiellösung wäre, die Häufigkeit von Abrufvorgängen für das Zusammenfassen von Newsfeeds, Inhaltsaktualisierungen bei Websites oder das Abrufen von Webbenachrichtigungen zu reduzieren.
  • Ermöglichen Sie Benutzern, explizit HD-Videostreams auszuwählen, vollständige E-Mails abzurufen, Updates mit geringer Priorität herunterzuladen usw. Dies sollten keine Standardvorgänge sein.
  • Fordern Sie ausdrücklich Benutzerberechtigungen vor der Netzwerkverwendung an.

Unbekannt

  • Wenn der Kostentyp eines Netzwerks nicht bekannt ist, sollten Sie es als uneingeschränktes Netzwerk behandeln.

 

Aufrechterhalten einer zuverlässigen Verbindung mit dem Internet

Die Fähigkeit einer App zur Flexibilität im Netzwerkbereich steht grundlegend für eine konsistente Qualitätsstufe bei der Internetinteraktion. Dies können Sie durch die Nutzung der vom Verbindungsprofil bereitgestellten Informationen sowie nachfolgender Benachrichtigungen zu Netzwerkstatusänderungen und durch das Feststellen verfügbarer Netzwerke erreichen, die den aktuellen Anforderungen entsprechen.

Alle Windows Store-Apps sollten zur Unterstützung der Internetkonnektivität folgende Schritte ausführen:

  1. Aufrufen von GetInternetConnectionProfile zum Überprüfen der Kosten für Internetverbindungen.
  2. Registrieren von Benachrichtigungen zu Netzwerkstatusänderungen für die Verbindung.
  3. Initialisieren des Netzwerkvorgangs für die Verbindung.
  4. Wenn eine Benachrichtigung über einen geänderten Netzwerkstatus empfangen wird, haben sich möglicherweise die verfügbaren Kosten-/Konnektivitätsoptionen geändert. Die App sollte dann wie folgt vorgehen:
    • Überprüfen der Kosten für Internetverbindungen. Wenn sich die Kostenmerkmale geändert haben, z. B. von uneingeschränkt in getaktet oder von getaktet in uneingeschränkt, wiederholen Sie den Netzwerkvorgang. Windows verwendet automatisch das günstigste verfügbare Netzwerk.
    • Wenn sich die Kostenmerkmale für Internetverbindungen nicht geändert haben, aber eine Benachrichtigung im Zusammenhang mit Kosten empfangen wird (z. B., > 80 % der Obergrenze verbraucht, variable Kosten, Roaming usw.), passen Sie das Verhalten gemäß den Vorschlägen in der obigen Tabelle NetworkCostType an.
  5. Wenn durch eine Fehlermeldung angezeigt wird, dass die Verbindung unterbrochen wurde, sollte die App die folgenden Aktionen ausführen:
    • Überprüfen der Kosten zum Herstellen einer Internetverbindung über ein anderes verfügbares Netzwerk. Befolgen Sie die Richtlinien in der oben angeführten Tabelle NetworkCostType.
    • Wiederholen Sie den Vorgang. Sollte dies nicht funktionieren, wartet sie auf eine NetworkStatusChange-Benachrichtigung.

Fehlerbehebung und Debuggen der verbundenen App

Netzwerkstörungen können dazu führen, dass Anwendungen hängen, abstürzen oder dem Benutzer nicht mehr bedienbare Dialogfelder sowie verwirrende Fehlermeldungen anzeigen. Das Debuggen dieser Fehler kann sich als äußerst schwierig erweisen, da Fehler überall im Netzwerkstapel auftreten können.

Alle Windows Store-Apps, die das Netzwerk entweder direkt (über Sockets) oder indirekt (über eine API, die das Netzwerk möglicherweise verwendet) nutzen, sind betroffen. Im Idealfall behebt das Betriebssystem Fehlerzustände automatisch für den Entwickler. Falls dies nicht möglich ist, sollten Apps für die Fehlerbehebung vorbereitet sein.

Alle verbundenen Windows Store-Apps müssen die folgenden Aktionen ausführen:

  • Führen Sie bei Auftreten eines Netzwerkfehlers den Vorgang ggf. erneut aus. Versuchen Sie beispielsweise nicht, den Vorgang zu wiederholen, wenn bei der Authentifizierung ein Fehler aufgetreten ist. Wiederholen Sie den Vorgang jedoch schon, wenn die Netzwerkverbindung, über die Sie kommuniziert haben, unterbrochen wurde, weil möglicherweise ein anderes Netzwerk verfügbar sein könnte. Viele Fehler verschwinden beim Wiederholen des Vorgangs einfach von selbst. Befolgen Sie beim Wiederholen des Vorgangs die zuvor unter "Reagieren auf Änderungen des Netzwerkstatus" erläuterten Richtlinien.
  • Vergewissern Sie sich, dass asynchrone APIs verwendet werden, sodass kein Blockieraufruf im UI-Thread erfolgt. Wenn ein Netzwerkvorgang demzufolge zu lange dauert, bevor er abgeschlossen wird, oder wenn ein Fehler auftritt, sollte Ihre Anwendung nicht hängen. Emulieren Sie kein synchrones Verhalten zusätzlich zum asynchronen Verhalten der Windows-Runtime.
  • Testen Sie Ihre App in verschiedenen Netzwerkumgebungen mit Aktivitäten wie dem Trennen und erneuten Herstellen der Netzwerkverbindung, Anhalten und Fortsetzen oder Wechseln zwischen Netzwerken.
  • Wenn Sie Ihre Anwendung testen und Fehler finden, die Ihnen nicht auf Anhieb offensichtlich sind, aktivieren Sie die ETW-Ablaufverfolgung.

Sicherheitsfragen

Die folgenden Artikel enthalten Anleitungen zum Schreiben von sicherem C++-Code.

Verwandte Themen

Entwickeln von verbundenen Anwendungen (Whitepaper)
Netzwerkinformationsbeispiel
Für Entwickler (HTML)
Verbindungsstatus und Kostenmanagement
Für Entwickler (XAML)
Verbindungsstatus und Kostenmanagement

 

 

Anzeigen:
© 2014 Microsoft