排行榜是一種有趣的方法,可以鼓勵玩家彼此之間競爭,對於最忠實的玩家 (喜歡在公開排行榜爭奪第一的玩家) 和較休閒的玩家 (喜歡與好友比較進度的玩家) 皆是如此。
如要瞭解如何在平台中加入排行榜,請參閱「用戶端實作」。
瞭解排行榜
建立排行榜時,Play 遊戲服務會代為管理排行榜大部分的資料。以下是典型的運作流程:
- 遊戲結束時 (或是在您決定的適當時機),遊戲會將玩家的分數提交至您為該遊戲建立的一或多個排行榜。
- Play 遊戲服務會檢查此得分是否高於玩家目前的每天、每週或歷來得分排行榜項目。如果是,Play 遊戲服務會以新的分數更新對應的排行榜。
- Play 遊戲服務會傳送分數報告至遊戲用戶端。此報表會通知用戶端此是否為新的每日、每週或歷來最高分。 如果不是,Play 遊戲服務就會通知用戶端目前該玩家的每日、每週或歷來最高分。
- 如要擷取排行榜的玩家結果,您可以要求一個時間範圍 (每日、每週或不限時間),並指定使用者是否要查看社交或公開排行榜。Play 遊戲服務會執行所有必要的篩選,然後將結果傳回用戶端。
- 如果需要回報的分數很多,Play 遊戲服務就只會傳送熱門排行榜分數的資料。您也可以擷取最高得分或是與玩家得分相近的原始得分資料。
多個排行榜
您可以為遊戲設置多個排行榜,上限是 70 個。舉例來說,多等級遊戲可能會為每個等級提供不同的排行榜,而競賽遊戲則可能會為每個群組分別建立排行榜。
排行榜時限
Play 遊戲 SDK 會自動為建立的所有排行榜建立每日、每週和歷來版本。您不需要為每個時間範圍分別建立排行榜。
每日排行榜每天都會在 UTC-7 的時間重設 (也就是「午夜日光節約時間」)。
每週排行榜會在週六到週日的午夜重設,時間和每日排行榜 (UTC-7) 相同。
公開排行榜和社交排行榜
Play 遊戲 SDK 會向玩家顯示兩個排行榜版本:
「社交」排行榜的上榜對象為使用者社交圈 (更精確地來說,是使用者選擇與應用程式分享的社交圈成員) 中,決定與使用者分享遊戲活動的成員。
「公開」排行榜的上榜對象為選擇公開分享遊戲活動的玩家。如果玩家沒有選擇公開分享遊戲活動,他們就不會在排行榜中顯示。
顯示排行榜
在行動用戶端程式庫中,程式庫會處理排行榜的所有格式和顯示。您可以指定是否要向玩家顯示特定排行榜,或是查看可供玩家選擇的所有排行榜清單。
您也可以直接從用戶端程式庫存取資料,以實作您專屬的排行榜版本。
屬性
如要建立及管理排行榜,建議您先熟悉下列排行榜屬性:
基本概念
以下是與排行榜相關的基本元素:
- 「ID」是 Google Play 管理中心會產生的一組專屬字串。您可以使用此專屬 ID,在遊戲用戶端中指出特定排行榜。
- 「名稱」是排行榜的簡短名稱 (例如:「高分記錄」或「第 3 級」)。字元上限為 100 個字元。
- 「圖示」是與排行榜相關聯的方形圖示。如需建立排行榜圖示的最佳做法,請參閱下方的圖示規範。
- 「顯示順序」是玩家查看遊戲相關排行榜時,排行榜的顯示順序。
- 「限制」是定義排行版允許的分數下限和上限選用值。這有助於捨棄明顯不實的得分提交內容。您也可以使用
Players.hide
,隱藏您認為應用程式中所有排行榜提交的不實分數。
排序
排行榜可採用以下其中一種排列順序:
- 「高分為贏」為預設排行榜。大部分的遊戲一般都會採用這一種排行榜。
- 有的時候得分越低越好,此時就會採用「低分為贏」排行榜。最常見的例子是賽車遊戲,其中分數代表的玩家完成比賽的時間。
分數格式
雖然所有分數都會提交至排行榜,並且在內部儲存為長整數,但 Play 遊戲服務能以多種不同格式向使用者顯示這些分數:
「數字」排行榜是以數字表示分數,而且可以顯示為整數,或具有固定小數位數的實數。分數會以整數形式提交,並將指定小數插入至指定位置。舉例來說,視您指定的小數位置而定,
314159
的分數可能會顯示為3.14159
、3141.59
或314159
。「時間」排行榜是以時/分/秒/毫秒的格式顯示分數。您提交的分數必須以毫秒為單位,舉例來說,
66032
就會顯示為1:06.03
。「貨幣」排行榜會以貨幣格式顯示分數。您提交的分數必須是主要貨幣單位的 1/1,000,000。舉例來說,假設貨幣指定為美元,那麼系統就會將 19,950,000 的分數解讀為
$19.95
。
數字排行榜也支援自訂單位。舉例來說,如果遊戲測量以公尺為單位的最高分,您就可以將「公尺」指定為排行榜的預設單位。
翻譯與分數格式
當行動用戶端程式庫向 Play 遊戲服務要求排行榜資料時,就會指定顯示這些分數使用的語言和語言代碼。REST API 也可讓您指定語言代碼的語言。Play 遊戲服務會傳回適用於該語言和語言代碼的正確格式排行榜分數。無論是否已為排行榜加入翻譯,這些設定格式的分數都會顯示。
「數字」排行榜顯示的數字格式會依語言而有所不同。(例如:在美國顯示為 12,345.78
,而在法國則顯示為 12 345,78
。)如果使用的是自訂單位,並且已在遊戲中加入翻譯,您就必須為新增的每個語言提供翻譯單位。遊戲服務會依照情況顯示這些單位的翻譯。
視您選擇的語言而定,您可能需要提供不同版本的單位名稱。以英文來說,一個項目就必須設定一個版本,並以另一個版本用於所有其他項目 (例如:「meter」和「meters」)。另一方面,以波蘭文來說,您必須提供單數單位、少數單位、許多單位和所有其他單位的版本。複數規則的詳情請參閱「數量字串 (複數)」。
「時間」排行榜會依玩家的語言和語言代碼設定顯示時間格式。如果使用秒或部分值超過 3 位數 (例如:4,815:16:23.42
為美國,在德國則為 4.815:16:23,42
) 時,就會發現其中差異。
如為「貨幣」排行榜,系統會根據玩家的語言和語言代碼顯示貨幣格式。但是貨幣單位無法變更。舉例來說,如果指定貨幣為美元,遊戲就會在美國顯示 $19.95
,法國則是 19,95 $
。但您無法指定遊戲在美國顯示美元,在法國顯示歐元。
圖示規範
請使用 512 x 512 PNG 或 JPEG 格式的圖示檔案。大部分的遊戲用戶端都會縮小顯示的圖示,因此請避免建立有過多細節的圖示。您可以透過 Alpha 管道提交圖示,而且透明度將會保留。排行榜圖示會在 Android 裝置中以較深的灰色背景顯示,因此請挑選在這類情況中能夠清楚顯示的圖示。
所有語言代碼都會使用相同的圖示,因此建議不要在圖示中加入任何文字或本地化內容。
建立排行榜
本節將說明如何為新遊戲或現有遊戲建立排行榜。
建立新遊戲的排行榜
如要在尚未發布的新遊戲中建立排行榜,請前往遊戲的 Google Play 管理中心,然後依序前往「Grow」(拓展) >「Play Games Services」(Play 遊戲服務) >「Setup and management」(設定與管理) >「Leaderboards」(排行榜),然後按一下「Create leaderboard」(建立排行榜) 按鈕。
![主要排行榜面板上的「Add Leaderboard」(新增排行榜) 按鈕](https://developer.android.google.cn/static/images/games/pgs/leaderboardAddNew.png?authuser=3&hl=zh-tw)
然後只要填寫這個排行榜所需的資訊即可。
![已填妥的「最佳回合」排行榜表格。](https://developer.android.google.cn/static/images/games/pgs/leaderboardSampleForm.png?authuser=3&hl=zh-tw)
按一下「Save as draft」(儲存為草稿),排行榜就會處於「草稿」狀態。遊戲發布後,所有遊戲排行榜都會與遊戲一起發布。
建立已發布遊戲的排行榜
如要在已發布的遊戲中建立更多排行榜,請按照上述步驟進行操作。如要進一步瞭解如何測試遊戲的更新版本,請參閱「發布遊戲變更」。
排行榜測試完成感到滿意之後,就可以重新發布加入新排行榜的遊戲,然後這些內容就會向全世界發布。
編輯排行榜
如要編輯已建立的排行榜,請在 Google Play 管理中心的「Leaderboards」(排行榜) 分頁標籤中按一下該排行榜。此時,畫面會顯示首次建立排行榜時使用的相同表單,然後您就可以依照需求編輯任何欄位。
編輯完成後,請按一下「Save as draft」(儲存為草稿) 按鈕。新編輯的排行榜將處於「草稿」狀態,方便您進行測試。
正常運作之後,請在排行榜表單頂端的方塊中選取「Publish the changes」(發布變更),這樣您就能重新發布遊戲,並更新所有排行榜。
復原編輯內容
如果您不滿意新編輯的排行榜,並想要恢復原先的排行榜,只要在排行榜表單頂部的方塊中選取「Revert」(還原) 即可。然後排行榜就會還原成已經發布的版本。
刪除排行榜
您可以刪除處於「草稿」狀態或已發布的排行榜。如要在 Google Play 管理中心刪除排行榜,請前往排行榜的表單,然後按一下表單頂端的「Delete leaderboard」(刪除排行榜)。
另外也可以呼叫 Players.hide
,隱藏應用程式中的玩家排行榜。
重設排行榜
只有草稿排行榜才能重設玩家進度資料。
- 如要在 Google Play 管理中心中重設排行榜,請於表單頂端針對該事件按一下「Reset progress」(重設進度)。
- 如要透過程式輔助方式重設排行榜資料,請呼叫 Management API
Scores
方法。
新增排行榜翻譯
您可以指定與遊戲相關聯的排行榜翻譯。在開始之前,請務必先完成「新增遊戲翻譯」所述的步驟。另外也必須為遊戲建立一或多個排行榜。
如要加入自己的排行榜翻譯,請在 Google Play 管理中心開啟遊戲的「Leaderboards」(排行榜) 分頁標籤,然後選取現有的排行榜。在排行榜詳細資料頁面中,按一下先前在「Game details」(遊戲詳細資料) 分頁標籤中新增的語言分頁標籤。在該語言的排行榜詳細資料頁面中,編輯該排行榜表單並加入翻譯。按一下「Save」(儲存),即可儲存已翻譯的排行榜詳細資料。
隱藏排行榜分數
Google Play 遊戲服務提供排行榜防竄改功能,可檢查是否有疑似竄改的分數,並自動加以隱藏。此功能僅限於 Android 遊戲可用。
根據預設,Android 遊戲的新建排行榜都會啟用防竄改功能,不過現有的排行榜則為停用。如果現有的已發布排行榜要啟用防竄改功能,請依照下列步驟操作:
- 在 Google Play 管理中心開啟「Games services」(遊戲服務) 分頁標籤,然後從清單中選取您的遊戲。
- 開啟「Leaderboards」(排行榜) 分頁標籤,然後選取要啟用防竄改功能的排行榜執行個體。
- 將「Enable leaderboard tamper protection」(啟用排行榜防竄改功能) 選項設為「ON」(開)。
- 按一下「Save」(儲存) 然後繼續。
- 發布遊戲。
在 Google Play 管理中心啟用排行榜的防竄改功能後,最多可能需要 24 小時才會生效。啟用防竄改功能之前提交的分數都不會溯及既往。
在某些情況下,也許您需要停用防竄改功能 (舉例來說,如果遊戲有 Android 版也有網頁版,而您要在這些平台中共用排行榜時)。
用戶端實作
如要瞭解如何實作平台中的排行榜,請參閱以下資源: