應用程式資料漫遊的指導方針

當您的市集應用程式資料使用漫遊 ApplicationData API 時,Windows 會將這個資料複寫到雲端,並將它同步到使用者所有其他已安裝該應用程式的裝置上。設計 Windows 市集應用程式包含漫遊應用程式資料時,請遵循下列指導方針。

應用程式資料範例說明如何使用 ApplicationData API 儲存和抓取每個使用者和 Windows 市集應用程式的特定資料。

我的應用程式應該使用漫遊資料嗎?

使用漫遊資料儲存使用者的設定、喜好設定和工作階段資訊,在多個裝置上建立連貫的應用程式經驗。請謹記,漫遊資料與使用者的 Microsoft 帳戶關聯。漫遊資料只在使用者使用相同的 Microsoft 帳戶登入裝置並將應用程式安裝在數個裝置上,才會同步化。

例如,如果使用者將您的應用程式安裝到一個裝置之後再安裝到另一個裝置,則第一個裝置上設定的所有喜好設定會自動套用到第二個裝置上的應用程式 (這是假設使用者使用相同的 Microsoft 帳戶登入這兩個裝置)。之後對這些設定及喜好設定所做的變更會自動轉移,無論在哪個裝置都能提供一致的使用經驗。透過將工作階段資訊儲存為漫遊資料,當使用者轉移到另一個裝置時,便能繼續另一個裝置上已關閉或已放棄的應用程式工作階段。

注意  Windows Phone 未實作 RoamingSettingsRoamingFolderRoamingStorageQuota 屬性。
注意  即使將下列類型的檔案放置於 RoamingFolder 中,它們還是無法漫遊:
  • 運作方式類似資料夾的檔案類型 (例如,副檔名為 .zip 和 .cab 的檔案)
  • 名稱開頭有空格的檔案
  • 名稱含有下列 Unicode 字元的檔案:

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

  • 長度超過 256 個字元的檔案路徑 (檔案名稱 + 副檔名)
  • 空白資料夾
  • 包含開啟的控制代碼的檔案

可行與禁止事項

  • 為使用者喜好設定和自訂、連結和小型資料檔案使用漫遊。例如,使用漫遊在使用者的所有裝置上保留背景色彩喜好設定。
  • 使用漫遊功能讓使用者可以繼續在不同的裝置完成工作。例如,漫遊草稿電子郵件的內容或閱讀應用程式中最近檢視的頁面等應用程式資料。
  • 透過更新應用程式資料的方式處理 DataChanged 事件。當應用程式資料剛完成從雲端同步時,會發生此事件。
  • 漫遊內容的參照而不是原始資料。例如,漫遊 URL 而不是線上文章的內容。
  • 對於重要且以時間為關鍵的設定,可使用與 RoamingSettings 關聯的 HighPriority 設定。如需詳細資訊,請參閱應用程式資料這篇簡短的概觀。若要檢視程式碼範例,請參閱Quickstart: Roaming app data (Windows Store apps using JavaScript and HTML)Quickstart: Roaming app data (Windows Store apps using C#/VB/C++ and XAML)應用程式資料範例
  • 不要漫遊裝置專屬的應用程式資料。有些資訊只與本機相關,如本機檔案資源的路徑名稱。如果您決定漫遊本機資訊,請確認如果資訊在第二個裝置上無效時,應用程式可以復原它。
  • 不要漫遊大量應用程式資料。應用程式可以漫遊的應用程式資料數量有限;請使用 RoamingStorageQuota 屬性取得此最大值。 如果應用程式達到這個限制,必須等到應用程式資料存放區的大小不再超過此限制時才能漫遊資料。設計應用程式時,請考量如何在較大型資料中放置界限,以免超過該限制。例如,如果個別儲存遊戲狀態需要 10KB,則應用程式只能允許使用者儲存最多 10 個遊戲。
  • 不要在依賴立即同步化的資料使用漫遊。Windows 不保證立即同步化;如果使用者處於離線狀態或使用高延遲網路,可能會嚴重延遲漫遊。請確定您的 UI 不需要立即同步化。
  • 不要漫遊經常變更的資料。例如,如果您的應用程式追蹤經常變更的資訊,例如追蹤歌曲每秒的位置,請勿將它儲存為漫遊的應用程式資料。請改為挑選較少變化的表示法,像是目前正在播放的歌曲,持續提供良好的使用者經驗。

其他用法指導方針

漫遊先決條件

如果使用者使用 Microsoft 帳戶登入裝置,便能享有漫遊應用程式資料的好處。不過,使用者和群組原則系統管理員可以隨時關閉裝置上的漫遊應用程式資料。 如果使用者選擇不使用 Microsoft 帳戶或停用漫遊資料功能,還是可以使用您的應用程式,但是應用程式只有每個裝置的本機資料。

只有在使用者將裝置設成「受信任」時,才會轉換儲存在 PasswordVault 中的資料。如果裝置不受信任,保存在此保存庫中的資料將不會漫遊。

衝突解決方案

漫遊應用程式資料並不是為了要一次在多個裝置上同時使用。 如果同步化時因為兩個裝置上的特定資料單位變更而引發衝突,系統一律保留最後寫入的值。這樣可確保應用程式使用的是最新資訊。 如果資料單位是一個設定複合項目,則在設定單位的層級仍然會發生衝突解決,這表示將會同步具有最新變更的複合項目。

寫入資料的時機

視設定的預期存留期而定,資料應該在不同時間寫入。非經常變更或變更緩慢的應用程式資料應該立即寫入。 不過,經常變更的應用程式資料應該只在固定的時間間隔 (例如每 5 分鐘一次) 以及應用程式暫停時才定期寫入。 例如,音樂應用程式可以在開始播放新歌曲時寫入「目前的歌曲」設定,不過,會在暫停時才寫入歌曲的實際位置。

過度使用保護

系統備有各種適當的保護機制以避免不當使用資源。如果應用程式資料未依預期方式轉換,有可能是因為裝置暫時受到限制。等待一些時間通常能夠自動解決這種情況,不需要採取任何動作。

版本設定

應用程式資料可以使用版本設定,將某個資料結構升級為另一個資料結構。這種版本號碼不同於應用程式版本,而且能隨意設定。雖然不強制,但強烈建議使用遞增的版本號碼,因為在嘗試轉換至代表較新資料的較低資料版本號碼時,可能發生不必要的麻煩 (包括資料遺失)。

應用程式資料只能在具有相同版本號碼的已安裝應用程式之間漫遊。例如,版本 2 的裝置可以彼此互相轉換資料,而版本 3 的裝置也可以同樣彼此轉換資料,但執行版本 2 與執行版本 3 的裝置之間則不會發生漫遊。 如果您安裝使用其他裝置上不同版本號碼的新應用程式,新安裝的應用程式將會同步與最高版本關聯的應用程式資料。

測試與工具

開發人員可以鎖定自己的裝置以觸發應用程式資料漫遊同步處理。 如果應用程式資料似乎未在某個時間範圍內轉換,請檢查並確定下列項目:

  • 您的漫遊資料未超過大小上限 (如需詳細資訊,請參閱RoamingStorageQuota)。
  • 您的檔案已正確關閉並釋放。
  • 至少有兩個裝置執行相同的應用程式版本。

開發人員可以使用 Windows 8 漫遊監視來監視與影響其應用程式漫遊狀態的狀態。

在 Windows 市集應用程式與 Windows Phone 市集應用程式之間漫遊資料

如果您發佈兩個應用程式版本 (一個版本適用於 Windows 市集,另一個版本適用於 Windows Phone),就可以在兩個不同裝置類型上執行的應用程式間漫遊應用程式資料。若要在不同裝置類型上的不同應用程式版本間漫遊資料,請為每個應用程式版本指定相同的套件系列名稱 (PFN)。

如需詳細資訊,請參閱如何在 Windows 市集應用程式和 Windows Phone 市集應用程式之間漫遊資料

相關主題

適用於開發人員 (HTML)
應用程式資料概觀
快速入門:應用程式資料漫遊
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
適用於開發人員 (XAML)
應用程式資料概觀
快速入門:應用程式資料漫遊 (C#/VB/C++)
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
範例
應用程式資料範例

 

 

顯示:
© 2015 Microsoft