Google Play 遊戲服務品質檢查清單

遊戲品質對遊戲的長期經營大有影響,分別有安裝、玩家評分及評論、參與度和玩家留存率等層面。在發布遊戲之前,請務必確認遊戲符合玩家對遊戲的基本期望,具備吸引人的功能以及符合直覺、設計精美的 UI。

本說明文件可以幫助您注重品質、功能集、UI 等重要層面,這些層面對遊戲是否能成功具有很深遠的影響。每個應注重的層面都會提供檢查清單,列出最低需求、最佳做法及建議採用的改善項目。為了為玩家提供最佳產品,請盡可能遵循檢查清單建議。

1. 登入

以下檢查清單工作適用於實作遊戲玩家登入功能的情況。如要進一步瞭解登入功能的運作方式及實作方法,請參閱登入概念的說明。如需在手機遊戲實作登入功能的程式碼範例,請參閱在 Android 實作登入功能的說明。

ID 重要 說明
1.1 必要 使用 Google Play 遊戲服務登入玩家。
1.1.1. 在遊戲啟動後自動登入玩家,並把手動登入程序列為候補方式

自動登入可以讓玩家快速驗證並授權使用完整的 Google Play 遊戲服務功能。

如果使用者拒絕登入,應用程式應讓使用者能在之後登入,例如在遊戲選單提供按鈕等。登入按鈕應該要能讓玩家輕鬆找到,例如,應該可在主螢幕或「設定」畫面中存取。這個按鈕不應藏在多層遊戲選單中。

1.2 建議內容 遵守 Google 品牌宣傳指南。

如要為玩家提供引人入勝且一致的端對端體驗,請遵循 Google Play 遊戲服務品牌宣傳指南

1.3 建議內容 提醒玩家已登入帳戶。

請在遊戲代表玩家執行某些操作時,向已登入的玩家顯示適當提醒或提示。舉例來說,當登入玩家完成某關卡之後,您可以提供以下訊息,讓玩家知道系統會自動上傳得分和成就:「您已登入 Google 帳戶,您的關卡和分數將會自動儲存」。

1.4 必要 使用 Play 遊戲服務 ID 備份玩家進度。

為了確保玩家在切換或重設裝置後不會遺失進度,或是在多部裝置上玩遊戲時不會遺失進度,請確認其進度已備份到雲端儲存解決方案,如果您使用自己的後端遊戲伺服器,請以安全的方式將 Play 遊戲服務 ID 做為金鑰。玩家使用 Play 遊戲服務 ID 登入時,請確認該帳戶是否有儲存的遊戲進度,並允許玩家接續之前的進度 (如有)。您可以使用自己的雲端儲存解決方案,或 Play 遊戲服務的遊戲進度存檔服務。

如果玩家未登入,請設法在本機保留玩家的遊戲進度,並在玩家最終登入時同步處理該進度。如果玩家延後登入遊戲,這種做法有助於避免玩家遺失遊戲進度。

2. 成就

以下檢查清單工作適用於實作遊戲成就功能的情況。

ID 重要 說明
2.1 必要 確認使用者能夠達成所有成就條件。

玩家必須能夠解鎖您建立的所有成就。

2.2 最佳做法 建立不會令人混淆的成就。

所有成就都應該使用不重複的圖片、文字和說明。

2.3 最佳做法 按照比例計算成就得分。

成就分數應與獲得成就所需的時間或技能成正比。

2.4 最佳做法 為各種難度等級設計成就。

請加入一些輕鬆遊玩即可贏得的簡單成就、一些需要較多技巧或心力才能達成的中等難度成就,以及一或兩項非常困難的成就,供最忠實的玩家挑戰。

舉例來說,以下螢幕截圖顯示的是很難贏得的成就,可以鼓勵並留住遊戲支持者繼續遊玩。

需要賺取 5,000 個寶石才能贏得的困難成就
2.5 建議內容 請勿預先載入成就。

請避免在遊戲過程前 5 分鐘內給予超過一項成就,因為剛接觸的玩家還沒深切投入遊戲,不會在乎這些成就。

定義成就時,請勿讓玩家在遊戲過程太早期就意外贏得成就。舉例來說,請注意可能在遊戲初期隨意達成的成就,例如「在不受傷害的情況下破關」

2.6 建議內容 為吸引人的遊戲活動定義成就。

請選取能建立成就感的指標,讓遊戲更引人入勝,並提高重玩價值。舉例來說,比起「角色行走里程數」指標,「殺死的殭屍數量」會更有趣。

2.7 建議內容 使用彩色成就圖示。

Play 遊戲服務會使用灰階版本的成就圖示,藉此顯示玩家是否已經贏得這些成就。如果您有必須使用全黑 (或全白) 成就圖示的限制,請用彩色背景顯示這些圖示。

2.8 建議內容 盡量減少隱藏成就的數量。

建議您只在避免透露劇情時才隱藏成就,而不應把隱藏成就當成常態。

2.9 建議內容 避免建立過度依賴機率的成就。

「尋找 100 個寶箱」是比「尋找有機會出現在藏寶箱中的機率為 1% 的物品」獲得更好的成就。

2.10 建議內容 考慮會努力達成所有成就的玩家。

有些玩家會嘗試贏得所有您建立的成就。請嘗試為這類玩家提供合適的成就。請避免讓成就依靠太多玩家無法控制的條件,或是玩家在遊戲做出某決定後就無法贏得的成就。

2.11 建議內容 確認成就圖示可以正確顯示。

如果在 Android 浮動式訊息中顯示成就圖示,圖示上會有重疊的圓圈,並隱藏外角。請確保圖示在這類情況下仍可正常顯示。

3. 排行榜

以下檢查清單工作適用於實作遊戲排行榜功能的情況。

ID 重要 說明
3.1 最佳做法 讓玩家可以在主選單和主要轉場之後看到排行榜。

載入遊戲時,應該要讓玩家可以確實存取排行榜。遊戲出現重要轉折後,例如關卡結束或玩家死亡時,玩家應可立即查看相關排行榜的連結。

3.2 最佳做法 定義可提交分數的上限。

可能的話,請在定義排行榜時加入限制,方便系統捨棄明顯造假的分數。

3.3 最佳做法 使用自訂圖示。

為每個定義的排行榜建立自訂圖示,不要光使用遊戲的圖示,因為這在 Google Play 遊戲並不美觀。

3.4 最佳做法 保有合適的得分提交頻率。

在遊戲發生重要轉場時才提交得分,例如關卡結束時,或玩家遊戲角色死亡時。如果遊戲沒有重要轉場 (例如「無盡奔跑」類型的遊戲),請自行判斷提交分數的頻率。您不應該讓遊戲持續或每秒都提交得分。

3.5 建議內容 運用得分標籤。

得分標籤屬於額外資料,可以和得分一併提交。舉例來說,您可以將得分標籤實作為標記,用來確認玩家提交的得分是否有效。

自訂排行榜也可以讀取這個標記資料。舉例來說,如果得分標籤內有記錄玩家遊戲過程的 YouTube 影片 ID,您的遊戲可以建立連結,讓玩家可以在排行榜觀看該段影片。

3.6 建議內容 在設計排行榜 UI 時發揮創意

如有相關資源,您可以在社交排行榜資料之上,再自行建構自訂排行榜檢視畫面。社交排行榜提供的體驗通常比公開排行榜更有吸引力。請先查看社交排行榜是否有任何項目。如果沒有,則改用公開排行榜。

3.7 建議內容 讓玩家知道自己的競爭表現。

排行榜 API 支援顯示得分視窗,例如玩家排名 +/-10 名以內的榜單。如要建立自訂檢視畫面,可以藉此大幅提高玩家參與度。您應該在遊戲重要轉場 (例如在關卡結束時,或是玩家角色死亡時) 之後立刻顯示這個內容。請避免讓玩家需點選不必要的內容才能看到排名資訊。

4. 六人行

以下檢查清單工作適用於實作遊戲好友服務功能的情況。

ID 重要 說明
4.1 必要 當玩家顯示在清單內時,請在擁有 Play 遊戲個人資料的玩家旁邊顯示 Play 遊戲服務圖示。

清單可以是現有的好友名單、最近遊玩的好友名單,或其他類型的好友名單。

4.1.1. 玩家必須可以點擊 Play 遊戲服務圖示。
玩家按下圖示後,遊戲應呼叫 getCompareProfileIntent()getCompareProfileIntentWithAlternativeNameHints() 來顯示 UI,方便玩家比較自己和其他玩家的個人資料。
4.1.2. 為遊戲內可自訂的玩家名稱支援玩家個人資料和好友邀請功能。
如果玩家在遊戲裡設定不同的名稱 (不使用 Play 遊戲個人資料名稱),當查看個人資料或收到好友邀請時,請用 getCompareProfileIntentWithAlternativeNameHints() 為目前玩家和正在檢視的玩家提供在遊戲內使用的替代名稱。請只傳遞一致的全域玩家名稱當做值,不要傳遞任意玩家內容。這項需求可讓雙方玩家從遊戲傳送的好友邀請中獲得背景資訊:
  • 受邀方可以看到邀請方在遊戲內的名稱,以及遊戲名稱。
  • 查看好友狀態時,傳送邀請的玩家依然可以看到接收邀請的玩家的遊戲內名稱,以及雙方結交為好友的遊戲。
4.2 最佳做法 運用不同圖示顯示已經是好友的 Play 遊戲使用者,以及還不是 Play 遊戲好友但是已經登入 Play 遊戲的使用者。使用兩個圖示代表 Play 遊戲使用者,一個代表「好友」,另一個代表「不是好友」(或好友狀態不明)。
好友圖示
不是好友圖示
4.3 最佳做法 在每次登入時呼叫 loadFriends() 並顯示好友名單,確保好友名單是最新資訊。確保玩家可以看到更新過的名單。
4.4 最佳做法 當遊戲裡面已經有遊戲內結交的好友時,使用好友服務加入 Play 遊戲好友,藉此增加好友名單。當有玩家出現在遊戲內好友名單,同時也是 Play 遊戲好友的時候,顯示「好友」圖示。
4.5 最佳做法 如果玩家拒絕好友名單的存取要求,請勿再顯示要求存取權的對話方塊,除非玩家採取的行動表示他們願意授予存取權,例如按下「匯入 Play 遊戲好友」按鈕。
4.6 最佳做法 在玩家拒絕授予好友名單存取權後,讓玩家有辦法在之後授予這項存取權,例如按下「匯入 Play 遊戲好友」按鈕。
4.7 最佳做法 如果您使用後端伺服器處理玩家 ID 或好友名單,必須以安全的方式存取這些項目。另外,若是較舊的遊戲和較資深的玩家,Android SDK 傳回的玩家 ID 可能會不同於其他玩家在該遊戲中看到的該名玩家 ID,這在使用好友名單時尤其明顯。不過,REST API 內部回傳的 player_id 一定可以保持一致,而且一律會是其他玩家所看到的 ID。

5. 配額和頻率限制

以下檢查清單工作適用於管理遊戲配額和頻率限制的情況。如果想瞭解如何管理遊戲配額,以及偵測是否超出頻率限制,請參閱「管理配額與頻率限制」。

ID 重要 說明
5.1 最佳做法 使用用戶端程式庫。

行動用戶端程式庫可以採用多種策略減少呼叫服務的情形。舉例來說,成就資料和排行榜資料會進行快取處理,讓玩家可以隨時查看成就,不需要依靠服務發出多次呼叫。

如果得分比最近提交的得分要低,Android 用戶端程式庫就不會傳送玩家得分到伺服器。Android 程式庫偵測出您受到頻率限制時,也會自動合併經常發出的成就遞增呼叫。

5.2 建議內容 把經常呼叫的內容組合為漸進式的成就。

如果您要製作格鬥遊戲,並有「拳擊 5000 次」的成就,請勿在每次發生拳擊時就傳送一次漸進式成就呼叫。請等到回合結束,然後傳送一次 increment(xxx) 呼叫 (xxx 代表該回合的拳擊總次數),或等到使出 50 次拳擊之後再送出一次 increment(50) 呼叫。

5.3 建議內容 注意用量。

請特別注意您對 Google Play 遊戲服務發出的呼叫次數。即使您已經盡量避免達到頻率限制,頻繁呼叫依然可能產生高度的網路流量,使裝置更快用掉電池電量。您可以藉由以下技巧避免發生這個問題:

  • 對遊戲進度存檔保持每幾分鐘執行一次的頻率,而非每次按下按鈕就執行一次。
  • 等到玩家遊戲結束後,再提交最高分資料。
  • 前往 Google Cloud Platform 的專案資訊主頁,查看應用程式的每日配額。

6. 遊戲進度存檔

以下檢查清單工作適用於實作遊戲遊戲進度存檔功能的情況。

ID 重要 說明
6.1 必要 新增中繼資料,為遊戲進度存檔提供更多背景脈絡。

遊戲進度存檔至少須提供以下中繼資料:

  • 封面圖片 - 擷取遊戲進度的螢幕截圖,可以幫助玩家想起遊戲中斷的地方。
  • 說明 - 為封面圖片提供更多背景脈絡的簡短說明。
  • 時間戳記 - 指出玩家玩這項遊戲進度存檔的時間長度。
6.2 必要 允許玩家載入遊戲進度存檔。

在玩家透過 Play 遊戲應用程式或預設的遊戲進度存檔選擇 UI 選擇項目後,載入正確的遊戲進度存檔。