跳轉到主要內容
本主題提供處理事件型統計資料變更的範例程式碼。這些範例是使用 XBOX 服務 API (XSAPI) 平面 C API 的 C++ 程式碼片段。XSAPI 會透過 Real-Time Activity (RTA) 服務傳遞統計資料更新,並為您管理 RTA 訂閱。

開始之前

這些程式碼片段共用一個範圍,並假設下列條件:
  • xboxLiveContext 是已登入使用者的 XblContextHandle。若要建立此控制代碼,請呼叫 XblContextCreateHandle。
  • xboxUserId 是您要取得其統計資料更新之玩家的 uint64_t XBOX 使用者識別碼 (XUID)。
  • scid 是包含您遊戲之服務設定識別碼 (SCID) 的 const char*。
  • TotalPuzzlesSolved 是範例統計資料名稱。請將其取代為針對您的遊戲所設定之事件型統計資料的名稱。
  • LogToScreen 是您應用程式中 printf 樣式的記錄函式。
取得事件型統計資料變更的通知
  1. 新增統計資料變更處理常式。
  2. 追蹤您要取得其更新的統計資料。
清除
  1. 停止追蹤統計資料。
  2. 移除統計資料變更處理常式。

新增統計資料變更處理常式

使用下列範例程式碼,為統計資料變更通知註冊事件處理常式。 事件處理常式會收到 XblStatisticChangeEventArgs 物件。如果 xboxLiveContext 或處理常式為 null,XblUserStatisticsAddStatisticChangedHandler 會傳回 0,且不會註冊處理常式。

追蹤您要取得其更新的統計資料

您的處理常式只會收到您所追蹤之統計資料的更新。請使用您要取得其更新的使用者和統計資料名稱呼叫 XblUserStatisticsTrackStatistics。您可以隨時變更受追蹤的統計資料集合,而不受處理常式影響。
XblUserStatisticsSubscribeToStatisticChange 和 XblUserStatisticsUnsubscribeFromStatisticChange 已被取代。它們仍可運作,但將在未來的版本中移除,而且視您的編譯器設定而定,呼叫它們可能會產生取代警告。請改用 XblUserStatisticsTrackStatistics 和 XblUserStatisticsStopTrackingStatistics。

停止追蹤統計資料

當您不再需要特定統計資料的更新時,請使用您所追蹤的相同使用者、SCID 和統計資料名稱呼叫 XblUserStatisticsStopTrackingStatistics。
或者,若要停止一組使用者所有受追蹤統計資料的更新,請呼叫 XblUserStatisticsStopTrackingUsers,而不是 XblUserStatisticsStopTrackingStatistics。
XSAPI 會計算追蹤要求的次數。如果您為某位使用者多次追蹤相同的統計資料,請呼叫停止追蹤函式相同的次數,才能停止更新。

移除統計資料變更處理常式

使用下列範例程式碼,移除統計資料變更通知的事件處理常式。

另請參閱

最後修改於 2026年10月30日