使用者活動最佳做法

本指南概述建立和更新使用者活動的建議做法。 如需 Windows 上使用者活動功能的概觀,請參閱繼續使用者活動,甚至是在各個裝置之間。 或者,請參閱 Project Rome 的「使用者活動」一節 ,以瞭解在其他開發平台上實作活動。

注意

從 2021 年 7 月開始,透過其 Microsoft 帳戶 (MSA) 跨 Windows 裝置同步處理活動歷程記錄的使用者將無法再選擇在時間軸中上傳新活動。 他們仍然可以使用時間軸,並在其本機電腦上查看其活動歷程記錄 (最新應用程式、網站和檔案的相關資訊)。 AAD 連線的帳戶不會受到影響。

建立或更新使用者活動的時機

因為每個應用程式都不同,所以每個開發人員都可以判斷將應用程式內的動作對應至使用者活動的最佳方式。 您的使用者活動將會在 Cortana 和時間軸中展示,其著重於藉由協助使用者回到過去瀏覽的內容,以提升使用者的生產力和效率。

一般指導方針

  • 記錄一組相關使用者動作的單一活動。 這與音樂播放清單或電視節目特別相關:單一活動可以定期更新,以反映使用者的進度。 在此情況下,您會有單一使用者活動,其中包含多個記錄專案,代表跨多天或數週的參與期間。 這同樣適用於使用者在應用程式內逐步進行的文件式活動。
  • 將使用者資料儲存在雲端。 如果您想要支援跨裝置活動,您必須確定重新參與此活動所需的內容會儲存至雲端位置。 裝置特定活動會出現在建立活動但可能不會出現在其他裝置上的時間軸上。
  • 請勿為使用者不需要繼續的動作建立活動。 如果您的應用程式用來完成簡單且一次性的作業不會保存狀態,您可能不需要建立使用者活動。
  • 請勿為其他使用者完成的動作建立活動。 如果外部帳戶將訊息傳送給使用者,或在您的應用程式內使用 @ 提及他們,您就不應該為此建立活動。 此類型的動作最好由控制中心通知提供服務。
    • 共同作業案例是例外狀況:如果多個使用者一起處理相同的活動 (例如 Word 文件),則在某些情況下,其他使用者在您的使用者之後已進行變更。 在此情況下,您可能會想要更新現有的活動,以反映對文件所做的變更。 這牽涉到更新現有的使用者活動內容資料,而不需建立新的記錄項目。

特定類型應用程式的指導方針

雖然每個應用程式都不同,但大部分的應用程式都會落入下列其中一個互動模式。

  • 文件型應用程式 - 為每個文件建立一個活動,其中一或多個記錄項目會反映使用期間。 請務必在對文件進行變更時更新活動。
  • 遊戲 - 為每個遊戲儲存或世界建立一個活動。 如果您的遊戲只支援單一關卡序列,可以隨著時間重新發布同一個活動,不過您可能希望更新內容資料以展示最新的進度或成就。
  • 公用程式應用程式 - 如果您的應用程式內沒有任何使用者需要離開和繼續,則不需要使用使用者活動。 小算盤 (計算機) 就是很好的簡單應用程式範例。
  • 企業營運應用程式 - 有許多應用程式可用於管理簡單的工作或工作流程。 針對透過您的應用程式存取的每個個別工作流程建立一個活動 (例如,費用報表會是個別的活動,讓使用者可以按一下活動以查看特定報表是否已核准)。
  • 媒體播放應用程式 - 針對內容的每個邏輯群組建立一個活動 (例如播放清單、節目或獨立內容)。 應用程式開發人員的根本問題是每個內容 (電視劇、歌曲) 是否算作獨立內容或集合的一部分。 一般來說,如果使用者選擇播放一個集合或連續的內容,該集合整體就是活動。 如果他們選擇播放單一內容,則該內容片段就是活動。 請參閱下面更具體的指南。
    • 音樂:專輯/藝術家/內容類型 - 如果使用者選取專輯、藝術家或內容類型並點擊播放,該集合就是活動;請勿為每首歌曲撰寫個別的活動。 對於像是單張專輯或是以隨機順序播放的集合這樣的簡短集合,您可能不需要更新活動來反映使用者目前的位置。 對於像專輯或播放清單這樣的長時間循序播放,錄製專輯中的位置可能有意義。
    • 音樂:智慧播放清單 - 以隨機順序播放音樂的應用程式應該錄製該播放清單的單一活動。 如果使用者第二次播放播放清單,您會為相同的活動建立額外的歷程記錄。 由於順序是隨機的,因此不需要在播放清單中錄製使用者的目前位置。
    • 電視劇 - 如果您的應用程式設定為目前這一集播完之後播放下一集,您應該為電視劇撰寫單一活動。 當您在多次觀看中播放不同的集數時,您的「活動」將會更新以反映您在該系列中的目前位置,並且會建立多個歷程記錄。
    • 電影 - 電影是一段內容,應該有自己的歷程記錄。 如果使用者半途停止觀看影片,最好錄製其位置。 當他們想要在未來繼續它時,活動可以繼續播放中斷的電影,甚至詢問使用者是否要繼續或從頭開始。

使用者活動設計

使用者活動包含三個元件:啟用 URI、視覺資料和內容中繼資料。

  • 啟用 URI 是一種可以傳遞給應用程式或體驗的 URI,以便使用特定內容恢復應用程式。 通常,這些連結會採用架構的通訊協定處理常式形式 (例如,"my-app://page2?action=edit")。 由開發人員決定其應用程式如何處理 URI 參數。 有關詳細資訊,請參閱處理 URI 啟用
  • 視覺資料由一組必要和選擇性屬性所組成 (例如:標題、描述或調適型卡片項目),可讓使用者以視覺方式識別活動。 如需為活動建立調適型卡片視覺效果的指導方針,請參閱下方。
  • 內容中繼資料是 JSON 資料,可用來在特定內容下分組和擷取活動。 通常,這是以 http://schema.org 的資料形式呈現。 如需填寫此資料的指導方針,請參閱下方。

調適型卡片設計指導方針

當活動出現在時間軸上時,它們會使用調適型卡片來顯示。 如果開發人員未為每個活動提供調適型卡片,時間軸就會根據應用程式名稱/圖示、必要的 [標題] 欄位和選擇性的 [描述] 欄位,自動建立簡單的卡片。

鼓勵應用程式開發者使用簡單的調適型卡片 JSON 架構提供自訂卡片。 如需如何建構調適型卡片物件的技術指導,請參閱調適型卡片文件。 請參閱下列指導方針,以在使用者活動中設計調適型卡片。

  • 使用影像
    • 可能的話,每個活動請使用唯一影像。 您的應用程式名稱和圖示會自動顯示在活動卡片旁邊;其他影像可協助使用者找出他們正在尋找的活動。
    • 影像不應包含預期使用者要閱讀的文字。 這段文字將無法提供給有無障礙需求的使用者,也無法進行搜尋。
    • 如果影像未包含文字,而且可以裁剪為大約 2:1 的比例,您應該使用它作為背景影像。 這將在時間軸上產生顯眼的活動卡片。 影像將稍微變暗,以確保文字在卡片上仍然清晰可見,建議您在這種情況下僅使用活動名稱,因為較小的文字可能變得難以閱讀。
    • 如果影像無法裁剪為 2:1,您應該將其放在活動卡片內。
      • 如果長寬比為正方形或直向,請將影像錨定在卡片右側且沒有邊界。
      • 如果長寬比為橫向,請將影像錨定在卡片右上角。
  • 每個活動都必須提供一個活動名稱,名稱應該一律顯示。
    • 此名稱應該使用大型粗體文字選項顯示在卡片的左上角。 請務必讓名稱能輕鬆地辨識,因為這是使用者在 Cortana 案例中顯示活動時唯一會看到的部分。 在時間軸中顯示相同的名稱可讓使用者更輕鬆地瀏覽大量活動。
  • 針對您應用程式的所有活動使用相同的視覺化樣式,讓使用者可以輕鬆地在時間軸中找出您的應用程式活動。
    • 例如,活動應該全都使用相同的背景色彩。
  • 請謹慎使用補充文字資訊。
    • 避免以文字填滿卡片,並且只使用輔助資訊,協助使用者尋找正確的活動或反映狀態資訊 (例如特定工作中目前的進度)。

內容中繼資料指導方針

使用者活動也可以包含內容中繼資料,Windows 和 Cortana 用來分類活動並產生推斷。 然後,活動可以分組在特定主題周圍,例如位置 (如果使用者正在尋找假期靈感)、物件 (如果使用者正在研究某件事) 或動作 (如果使用者正在跨不同的應用程式和網站購買特定產品)。 在活動中表示名詞和動詞都是個好主意。

在下列範例中,遵循 Schema.org 標準的內容中繼資料 JSON 代表案例:「John 與 Steve 在玩憤怒鳥遊戲」。

// John played angry birds with Steve.
{
  "@context": "http://schema.org",
  "@type": "PlayAction",
  "agent": {
    "@type": "Person",
    "name": "John"
  },
  "object": {
    "@type": "MobileApplication",
    "name": "Angry Birds."
  },
  "participant": {
    "@type": "Person",
    "name": "Steve"
  }
}

金鑰 API