跳轉到主要內容
本主題說明排行榜如何透過顯示遊戲的所選統計資料來比較玩家。 排行榜是吸引玩家參與並推動玩家之間競爭的有趣方式。XBOX 服務提供的功能既適合您的硬派玩家 (與全體 XBOX 玩家進行全域排名),也適合您的休閒玩家 (與玩家好友進行社交排名)。 您可以使用兩種類型的排行榜:全域與社交。 兩者的概念非常相似,但在設定與用途方面有根本上的差異。

全域排行榜與社交排行榜

全域排行榜

  • 全域排行榜會為整個 XBOX 使用者群排名,而且必須經過設定。
  • 全域排行榜是您在擷取時 (在遊戲發行之前,或發行之後的任何時間) 於服務中設定的預先定義檢視。

社交排行榜

  • 社交排行榜是動態產生的,會為玩家的好友排名。
  • 社交排行榜只包含位於玩家社交圖中的玩家。
  • 社交排行榜不需要在擷取時預先定義,因為服務會在執行階段根據現有的使用者統計資料動態產生排行榜。

了解排行榜

排行榜有兩個主要元件。
  • 用來排名的值 (在 XBOX 服務中,這一律是玩家統計資料執行個體)。
  • 排序順序 (值越高越好或越低越好)。

以統計資料作為排名值

排行榜衍生自玩家統計資料。為您的需求定義正確的統計資料規則至關重要。設計遊戲時,請記住您希望玩家在哪些排行榜上進行排名。

全域排行榜

全域排行榜會追蹤 XBOX 社群中玩家所記錄的最佳分數。全域排行榜的主要差異在於,它們是在擷取時透過指定排行榜識別名稱、排名統計資料與排序順序 (遞增或遞減) 而預先定義的。 遊戲可以定義無限數量的全域排行榜,並隨時透過服務設定新增更多排行榜。每個全域排行榜的記錄數目上限目前為 10,000 筆。這表示對於「最佳」分數未排進前 10,000 名的玩家,其分數不會出現在排行榜中。 您可以一次讀取最多 100 筆排行榜項目 (玩家 XUID、玩家代號、全域排名與分數) 的「頁面」,並指定頁面的起始排名,或擷取以指定玩家代號為中心的排行榜項目。結果的範圍一律為歷來所有時間;尚不支援日、週與月檢視。 您可以透過 XBOX Services API (XSAPI) 或我們的 REST API,使用 GET (/scids/{scid}/leaderboards/{leaderboardname}) 存取全域排行榜。 以下螢幕擷取畫面顯示如何為賽車遊戲設定範例排行榜。 排行榜詳細資料 UI,排行榜名稱為 FastestLap,排序順序顯示值越低越好。

社交排行榜

社交排行榜非常適合激勵休閒玩家與好友比較並排名。即使他們不在社群的最高排名中,仍然可以受到激勵去擊敗他們認識的玩家。社交排行榜是根據任何現有的使用者統計資料動態建立的。因此,它們不需要在擷取時預先定義,而且只包含某位特定玩家社交圖中的玩家。 社交排行榜的主要優點是不需要預先定義。您可以為遊戲的任何統計資料建立社交排行榜。呼叫端在要求社交排行榜時可以指定兩件事:統計資料執行個體與排序順序 (預設為依評分遞減)。結果的範圍一律為歷來所有時間;不支援日、週、月檢視。 與全域排行榜一樣,呼叫端可以一次讀取最多 100 筆排行榜項目 (玩家 XUID、玩家代號、全域排名與分數) 的「頁面」,並指定頁面的起始排名。 您可以透過 XSAPI 或我們的 REST API,使用 GET (/users/xuid({xuid})/scids/{scid}/stats/{statname)/people/{all|favorite}) 存取社交排行榜。

具有社交檢視的全域排行榜

由於社交排行榜是動態建立的,因此擷取社交排行榜所需的時間比擷取全域排行榜更長。如果您的遊戲經常根據一組共同條件擷取社交排行榜,您可以建立全域排行榜,並只擷取排行榜中與玩家社交圖相關的項目。 由於排行榜已存在於 XBOX 服務伺服器上,因此擷取時間會比社交排行榜更快。而且由於結果的範圍限定在使用者的社交圖,承載也會更小。此類型的排行榜是全域排行榜,因此必須在遊戲的服務設定中定義。 具有社交檢視的全域排行榜可使用一般的全域排行榜要求 GET (/scids/{scid}/leaderboards/{leaderboardname}) 存取,並在 URL 後附加下列查詢:&viewTarget=people&view=people。 若要支援多欄排行榜檢視,可以使用統計資料中繼資料。遊戲可以為排行榜統計資料定義中繼資料欄位,這些欄位可在查詢排行榜排名時傳回。遊戲不應使用批次使用者統計資料 URI 來達成相同的行為,因為隱私權設定可能會阻止存取統計資料。

多欄排行榜

在某些情況下,您需要在排行榜中加入更多欄位,以提供統計資料更多資訊。例如,對於擊敗最多敵人的排行榜,您可能想要加入玩家使用的武器、發生的地圖、擊敗最多的敵人類型,以及擊殺/死亡比。 XBOX 排行榜內建多欄支援,您可以輕鬆取得這類排名。唯一的先決條件是排行榜所用的統計資料必須定義統計資料內容,它會作為額外的中繼資料使用。例如,對於 FastestLap 統計資料,您可能想要將這些額外屬性設定為統計資料內容。以下螢幕擷取畫面顯示其可能的樣子。 統計資料內容 UI,統計資料內容名稱為 CarModel、WeatherCondition 與 TrackId。 現在統計資料會連同內容一起保存,如果您擷取多欄排行榜,看起來會類似下表。 目前全域排行榜與具有社交檢視的全域排行榜支援多欄排行榜。不過,如果您想要建立多欄_社交_排行榜,可以使用批次使用者統計資料呼叫取得所有統計資料及其內容,然後手動建立排行榜。 多欄排行榜只能透過我們的 REST API,使用一般的全域排行榜要求 GET (/scids/{scid}/leaderboards/{leaderboardname}) 存取,並在 URL 後附加下列查詢:&include=valuemetadata。

含有精選統計資料的排行榜出現位置

排行榜透過顯示遊戲的所選統計資料來比較玩家。 排行榜是鼓勵玩家之間競爭的絕佳方式。排行榜能讓玩家持續投入,努力超越自己先前的最佳分數與好友的分數。
  • 精選統計資料的排行榜一律會顯示在遊戲的官方社團中。
  • 精選統計資料的排行榜有時會顯示在其他 XBOX 體驗中,例如玩家設定檔中的成就檢視。
  • 您也可以使用已設定的精選統計資料,在遊戲內建立排行榜。

選擇合適的排行榜

排行榜對應於您定義的統計資料。 您應該選擇對應於玩家能夠努力改善之成就的排行榜。 例如,賽車遊戲中的最佳單圈時間就是很好的排行榜,因為玩家會想努力改善自己的最佳單圈時間。 其他範例包括射擊遊戲的擊殺/死亡比,或格鬥遊戲的最大連擊數。

何時顯示排行榜

您可以在遊戲中的任何時間顯示排行榜。 您應該選擇排行榜不會干擾遊戲玩法或遊戲流程的時機。 例如,回合之間與比賽結束後都是顯示排行榜的好時機。

程式設計指南

您可以使用數個排行榜 API 來取得排行榜的目前狀態。 所有 API 都是非同步的,不會造成封鎖。 發出取得排行榜資料的要求,並繼續進行一般的遊戲處理。 當服務傳回排行榜結果時,您就可以在適當的時機顯示結果。 請在您想要顯示排行榜資料之前稍早向服務要求資料。這可避免玩家在等待排行榜顯示時遭到封鎖。

另請參閱

事件型與遊戲管理型統計資料。
最後修改於 2026年10月8日