注意:Google 地圖平台遊戲服務已於 2021 年 10 月 18 日淘汰。2022 年 12 月 31 日過後,現有使用者仍可繼續使用。在此期間,我們會持續提供重大錯誤和服務中斷問題的相關支援和修正。請參閱遊戲服務轉換指南,瞭解如何妥善規劃專案的後續步驟。

製作最佳做法

管理和執行應用程式時,Google 建議您遵循下列最佳做法。

保護 API 金鑰安全

您需要 API 金鑰才能使用我們的線上服務,而此 API 金鑰可讓 Google 計算您的用量。建議您限制 API 金鑰,以防未經授權的使用情形。

API 金鑰限制的類型

API 金鑰限制分為兩種類型,您可以同時使用兩者。

限制類型將金鑰使用限制限制在
API 限制 特定 API。
應用程式限制 特定 IP 位址、網站或應用程式。

API 金鑰限制建議

建議您針對下列情況提交獨立的 API 金鑰。

情境建議
您的後端遊戲伺服器會呼叫 Playable Locations API 來擷取可播放位置。 設定具有兩項限制的金鑰:
  • API 限制:僅允許呼叫 Playable Locations API。
  • 應用程式限制:僅允許來自後端遊戲伺服器的 IP 位址呼叫。
應用程式的 Android 版本會呼叫 Maps SDK for Unity,以擷取地理資料。 請設定金鑰來限制應用程式 Android 版本的呼叫。
應用程式的 iOS 版本會呼叫 Maps SDK for Unity API,以擷取地理資料。 請設定含有應用程式限制的金鑰,僅允許來自 iOS 應用程式的呼叫。

詳情請參閱「API 安全性最佳做法」。

如何設定 API 金鑰限制

  1. 前往 Google Cloud Console 的憑證面板
  2. 選取要設定限制的 API 金鑰,畫面隨即顯示 API 金鑰屬性頁面。
  3. 在「金鑰限制」下方,選取 [應用程式限制] 分頁標籤,然後選取四個應用程式限制類型之一。
    限制類型 說明
    HTTP 參照網址 接受由您提供的網站清單中所列的要求。
    IP 位址 接受來自您提供的清單中網路伺服器 IP 位址提出的要求。
    Android 應用程式 新增套件名稱和 SHA-1 簽署憑證指紋,即可限制 Android 應用程式的使用。
    iOS 應用程式 iOS 應用程式軟體包 ID 必須與您提供的 ID 吻合,才接受該應用程式送出的要求。
  4. 在「金鑰限制」下方,選取 [API 限制] 標籤,然後選取您要限制 API 金鑰的 API。
  5. 按一下 [儲存]

支援 API 金鑰更新

請確認您具有基礎架構,可以更新服務堆疊中的 API 金鑰。如此一來,如果您的 API 金鑰遭駭,遊戲就可以復原,而且您需要在短時間內續約。

針對各個應用程式使用不同的金鑰,因此您可以在一個應用程式中輕鬆替換金鑰,而不會影響其他應用程式。

遊戲伺服器安全建議

當 Playable Locations API 伺服器因故中斷服務中斷時,就會發生問題,導致多個遊戲伺服器同時重新連線。這類 QPS 用量可能會使伺服器進入 DoS 模式,透過封鎖連入流量來加強這種情況。

為減少這種情況,Google 會要求您在遊戲伺服器上實作二元指數輪詢。它是將系統重試作業的系統化方法。具體而言,您實作的演算法會在重新連線失敗後等待 N 秒,然後再試一次。如果下次嘗試失敗,您的演算法會加倍等候期,然後再試一次。如果下次嘗試失敗,您的演算法會再次等候等候期,然後再試一次。您每次嘗試後,您的等候期都會持續加倍,直到最終嘗試成功為止。

處理 HTTP 傳回狀態碼

您應為某些 HTTP 傳回代碼實作二元指數輪詢,但不是全部。

400 秒
這些用戶端錯誤通常是正常發生的,因此,如果傳回失敗的要求,這些錯誤代碼就會失效。您應在測試時找出這類錯誤。
429
當您開始耗用 API 配額時,就會發生資源用盡的錯誤。如要查看專案的 API QPS 限制,請前往 Google API 配額頁面。
500 秒
這些是伺服器端錯誤,指數輪詢錯誤最適合這類錯誤。