建立排行榜
根據遊戲以及您將面對的情境類型,您很可能會建立多個排行榜。 在這個特定情境中,我們想要展示此遊戲的兩種不同情境,以及如何使用此服務來處理每一種情境。玩家排行榜
在此範例中,玩家正在為行星進行地球化,並藉由在遊戲中執行特定動作來獲得經驗值。 因此,我們將建立一個排行榜,在玩家層級追蹤該經驗值。此流程與其他教學課程 (例如建立基本排行榜)中介紹的行為相同。這裡的關鍵在於 EntityType 參數必須是"title_player_account",因此它只會用於玩家。
群組排行榜
現在讓我們來看看範例中提到的遊戲面向:聯盟。我們可以使用"group" 實體在 PlayFab 中建立聯盟。
這個群組實體讓我們擁有可供玩家加入的結構,它也具備角色和其他有趣的功能,
能夠支援遊戲中的這類情境。建立排行榜時,我們需要清楚兩件事。
- EntityType 參數必須是
"group"。 - 這個排行榜是獨立的。因此,為聯盟新增分數是與玩家排行榜分開的手動流程。此行為 允許以不同方式將分數與玩家建立關聯,或者它也可以是僅適用於群組的新指標。
將資料新增至排行榜
建立兩個排行榜之後,我們需要了解如何將資料新增至其中。如先前範例所述, 這些排行榜彼此獨立,這讓開發人員能夠控制並套用自訂邏輯, 決定聯盟 (群組) 的分數運作方式。EntityId 提供給服務。如果您有玩家排行榜,
實體就是 "title_player_account";如果排行榜由群組組成,則您需要提供 "group 實體。
從排行榜擷取資料
現在,若要取得排行榜的資料,除了 GetFriendLeaderboard API 之外,我們可以使用此處所述的所有選項:使用排行榜執行更多操作。群組排行榜的顯示名稱
最後,群組排行榜還可以做到的另一個細節,是使用實體的群組名稱來設定顯示名稱。 因此,如果您有一個名為「Raiders」的聯盟,此群組名稱將會透過DisplayName 屬性對應至該實體。
CreateGroupAsync 方法來建立群組。此執行的第一步是傳回 Group 物件,
我們將用它來設定顯示名稱。我們使用
SetDisplayNameRequest 物件將群組名稱對應至實體,然後執行 PlayFabProfilesAPI.SetDisplayNameAsync 方法來完成此流程。
結論
在本教學課程中,我們學到了如何執行下列作業:- 建立群組排行榜。
- 了解如何將資料提供給該排行榜。
- 擷取排行榜。
- 變更 displayName,使其能顯示群組名稱。
