Richtlinien für das Roaming von App-Daten

Applies to Windows and Windows Phone

Wenn Sie App-Daten mit den APIs für das Roaming von ApplicationData speichern, repliziert Windows diese Daten in die Cloud und synchronisiert sie mit allen Benutzergeräten, auf denen die App installiert ist. Folgen Sie diesen Richtlinien, wenn Sie eine Windows Store-App mit App-Datenroaming entwerfen möchten.

Das Beispiel für Anwendungsdaten zeigt, wie Sie die ApplicationData-APIs verwenden können, um spezifische Daten für jeden Benutzer und jede Windows Store-App zu speichern und abzurufen.

Sollte meine App Datenroaming verwenden?

Verwenden Sie Datenroaming, wenn Einstellungen und Sitzungsinformationen gespeichert werden sollen, um eine kohärente Benutzererfahrung auf mehreren Geräten zu bieten. Beachten Sie, das Roamingdaten mit dem Microsoft-Konto des Benutzers verknüpft sind. Roamingdaten werden daher nur synchronisiert, wenn sich Benutzer mit demselben Microsoft-Konto auf ihren Geräten anmelden und die App auf mehreren Geräten installieren.

Wenn ein Benutzer die App beispielsweise zuerst auf einem Gerät und dann auf einem zweiten Gerät installiert, werden alle Einstellungen auf dem ersten Gerät automatisch in der App auf dem zweiten Gerät übernommen (vorausgesetzt, der Benutzer meldet sich auf beiden Geräten mit demselben Microsoft-Konto an). Alle zukünftigen Änderungen an diesen Einstellungen werden automatisch auf die Geräte übertragen, sodass eine einheitliche Benutzererfahrung unabhängig vom Gerät sichergestellt wird. Indem Sie Sitzungsinformationen als Roamingdaten speichern, ermöglichen Sie Benutzern, geschlossene oder abgebrochene Sitzungen auf einem anderen Gerät fortzusetzen.

Hinweis  Die Eigenschaften RoamingSettings, RoamingFolder und RoamingStorageQuota werden in Windows Phone nicht implementiert.

Hinweis  Für diese Art von Dateien wird kein Roaming ausgeführt, auch wenn sie sich im RoamingFolder befinden:

  • Dateitypen, die sich wie Ordner verhalten (z. B. Dateien mit den Erweiterungen .zip und .cab)
  • Dateien, deren Namen mit einem führenden Leerzeichen beginnen
  • Dateien mit Namen, die die folgenden Unicode-Zeichen enthalten:

    e794, e795, e796, e7c7, e816, e817, e818, e81e, e826, e82b, e82c, e831, e832, e83b, e843, e854, e855, e864, e7e2, e7e3 und e7f3

  • Dateipfade (Dateiname und Erweiterung) mit mehr als 256 Zeichen
  • Leere Ordner
  • Dateien mit offenen Handles

Empfohlene und nicht empfohlene Vorgehensweisen

  • Verwenden Sie Roaming für Benutzereinstellungen und -anpassungen, Links und kleine Datendateien. Sie können mithilfe von Roaming beispielsweise dafür sorgen, dass die vom Benutzer vorgenommene Einstellung für die Hintergrundfarbe auf allen Geräten angewendet wird.
  • Verwenden Sie Roaming, damit Benutzer eine Aufgabe auf mehreren Geräten fortsetzen können. Sie können das Roaming für Anwendungsdaten beispielsweise implementieren, um den Inhalt eines E-Mail-Entwurfs oder die zuletzt angezeigte Seite in einer Lese-App zu speichern.
  • Behandeln Sie das DataChanged-Ereignis, indem Sie App-Daten aktualisieren. Dieses Ereignis tritt unmittelbar nach der Synchronisierung der App-Daten mit der Cloud auf.
  • Führen Sie Roaming für Verweise auf Inhalte durch, anstelle für unformatierte Daten. Das Roaming für eine URL eines Onlineartikel ist beispielsweise sinnvoller als das Roaming für den Inhalt des Artikels.
  • Verwenden Sie für wichtige, zeitkritische Informationen die Einstellung HighPriority zusammen mit RoamingSettings. Weitere Informationen finden Sie in der kurzen Übersicht über App-Daten. Codebeispiele finden Sie unter Quickstart: Roaming app data (Windows Store apps using JavaScript and HTML), Quickstart: Roaming app data (Windows Store apps using C#/VB/C++ and XAML) und Beispiel für Anwendungsdaten.
  • Führen Sie kein Roaming für gerätespezifische App-Daten durch. Manche dieser Informationen sind ausschließlich lokal relevant wie beispielsweise der Pfadname zu einer lokalen Dateiressource. Wenn Sie lokale Informationen als Roamingdaten verwenden möchten, stellen Sie sicher, dass die App wiederhergestellt werden kann, wenn die Informationen auf dem zweiten Gerät nicht gültig sind.
  • Führen Sie kein Roaming für große App-Datenmengen durch. Die Menge der App-Daten für das Roaming ist begrenzt. Verwenden Sie die Eigenschaft RoamingStorageQuota, um diese maximale Datenmenge zu implementieren. Wenn eine App diese Grenze erreicht, wird solange kein Datenroaming durchgeführt, bis die Größe des App-Datenspeichers wieder unter die Grenze fällt. Berücksichtigen Sie beim App-Design, wie eine Grenze für größere Datenmengen festgelegt wird, sodass die Begrenzung nicht überschritten wird. Wenn für das Speichern eines Spielstands beispielsweise jeweils 10 KB erforderlich sind, sollte die App unter Umständen höchstens zulassen, dass 10 Spielstände gespeichert werden.
  • Verwenden Sie Roaming nicht für Daten, die von einer sofortigen Synchronisierung abhängig sind. Windows garantiert keine sofortige Synchronisierung; die Synchronisierung kann erheblich verzögert werden, wenn Benutzer offline oder mit einem Netzwerk mit hoher Latenz verbunden sind. Stellen Sie sicher, dass die UI nicht von einer sofortigen Synchronisierung abhängig ist.
  • Verwenden Sie Roaming nicht für sich häufig ändernde Daten. Wenn Ihre App beispielsweise Informationen nachverfolgt, die sich häufig ändern (z. B. die Position eines Musiktitels in Sekunden), speichern Sie diese Daten nicht als Roaming-App-Daten. Wählen Sie stattdessen eine weniger häufige angepasste Darstellung, die trotzdem eine gute Benutzererfahrung gewährleistet, z. B. den aktuell wiedergegebenen Titel.

Weitere Hinweise zur Verwendung

Voraussetzungen für Roaming

Jeder Benutzer kann von Roaming-App-Daten profitieren, wenn ein Microsoft-Konto zur Anmeldung am Gerät verwendet wird. Benutzer und Gruppenrichtlinienadministratoren haben jedoch die Möglichkeit, das Roaming von App-Daten auf einem Gerät zu deaktivieren. Benutzer, die kein Microsoft-Konto verwenden oder die Datenroamingfunktion deaktivieren, können Ihre App auch weiterhin verwenden, die App-Daten sind dann jedoch auf jedem Gerät lokal vorhanden.

Daten, die im PasswordVault gespeichert sind, werden nur übertragen, wenn ein Benutzer ein Gerät als „vertrauenswürdig“ eingestuft hat. Wird einem Gerät nicht vertraut, werden die in diesem Tresor gespeicherten Daten nicht für das Roaming verwendet.

Konfliktlösung

Das Roaming von App-Daten ist nicht für eine gleichzeitige Verwendung auf mehreren Geräten vorgesehen Wenn es während der Synchronisierung zu einem Konflikt kommt, weil eine bestimmte Dateneinheit auf beiden Geräten geändert wurde, verwendet das System vorzugsweise immer den zuletzt geschriebenen Wert. Dadurch wird sichergestellt, dass der App immer die aktuellsten Informationen zur Verfügung stehen. Handelt es sich bei der Dateneinheit um eine zusammengesetzte Einstellung, findet die Konfliktlösung trotzdem auf der Ebene der Einstellungseinheit statt, d. h. der zuletzt geänderte Wert der Zusammensetzung wird synchronisiert.

Zeitpunkt für das Schreiben von Daten

Je nach erwarteter Lebensdauer der Einstellung sollten Daten zu unterschiedlichen Zeitpunkten geschrieben werden. Selten bzw. langsam geänderte App-Daten sollten sofort geschrieben werden. Häufig geänderte App-Daten sollten dagegen nur in bestimmten Zeiträumen regelmäßig (beispielsweise einmal alle fünf Minuten) und bei angehaltener App geschrieben werden. So kann eine Musik-App beispielsweise die Einstellung für den aktuellen Titel schreiben, wenn ein neuer Titel wiedergegeben wird, aber die aktuelle Position im Titel sollte nur in angehaltenem Zustand der Anwendung geschrieben werden.

Schutz vor übermäßiger Nutzung

Das System verfügt über verschiedene Schutzmechanismen, um unangemessene Verwendung der Ressourcen zu verhindern. Falls App-Daten nicht wie erwartet übertragen werden, wurde das Gerät wahrscheinlich vorübergehend beschränkt. Wenn Sie einige Zeit warten, wird dieses Problem normalerweise automatisch behoben, ohne dass eine Aktion erforderlich ist.

Versionsverwaltung

App-Daten können die Versionsinformationen nutzen, um von einer Datenstruktur auf eine andere zu aktualisieren. Die Versionsnummer unterscheidet sich von der App-Version und kann nach Belieben festgelegt werden. Auch wenn es nicht zwingend erforderlich ist, empfiehlt es sich, aufsteigende Versionsnummer zu verwenden, da beim Übergang zu einer kleineren Nummer, die neuere Daten darstellt, unerwünschte Komplikationen (z. B. Datenverluste) entstehen können.

Das Roaming für App-Daten wird nur in installierten Apps mit der gleichen Versionsnummer durchgeführt. Beispiel: Geräte mit der Versionsnummer 2 tauschen Daten untereinander aus. Gleiches gilt für Geräte mit der Version 3. Es erfolgt jedoch kein Roaming zwischen Geräten mit Version 2 und Geräten mit Version 3. Wenn Sie eine neue App installieren, die auf anderen Geräten unterschiedliche Versionsnummern verwendet hat, synchronisiert die neu installierte App die App-Daten, die mit der höchsten Versionsnummer verknüpft sind.

Tests und Tools

Entwickler können ihr Gerät sperren, um eine Synchronisierung von Roaming-App-Daten auszulösen. Wenn die App-Daten scheinbar nicht innerhalb eines bestimmten Zeitrahmens übertragen werden, überprüfen Sie die folgenden Elemente, und stellen Sie sicher, dass:

  • Ihre Roamingdaten nicht die maximal zulässige Größe überschreiten (siehe auch RoamingStorageQuota).
  • Ihre Dateien geschlossen und ordnungsgemäß veröffentlicht wurden.
  • Sie über mindestens zwei Geräte mit derselben App-Version verfügen.

Entwickler können mit der Windows 8-Roamingüberwachung den Status des Roamingzustands ihrer Apps überwachen und beeinflussen.

Datenroaming zwischen Windows Store-Apps und Windows Phone Store-Apps

Wenn Sie zwei Versionen Ihrer App veröffentlichen (eine für Windows Store und eine für Windows Phone), können Sie Roaming für App-Daten zwischen den zwei verschiedenen Gerätetypen ermöglichen. Um Datenroaming zwischen verschiedenen Versionen Ihrer App auf verschiedenen Gerätetypen zu implementieren, weisen Sie jeder Version der App denselben Paketfamiliennamen (Package Family Name, PFN) zu.

Weitere Informationen finden Sie unter So wird's gemacht: Datenroaming zwischen Windows Store-Apps und Windows Phone Store-Apps

Verwandte Themen

Für Entwickler (HTML)
Übersicht über App-Daten
Schnellstart: Roaming von App-Daten
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Für Entwickler (XAML)
Übersicht über App-Daten
Schnellstart: Serverspeicherung von Anwendungsdaten (C#/VB/C++)
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Beispiel
Beispiel für Anwendungsdaten

 

 

Anzeigen:
© 2014 Microsoft