常見問題

本文將回答有關 SDK 和發布 Google Play 遊戲電腦版的常見問題。

營利

  1. 新增帳單或授權金鑰後,為什麼購買流程會失敗並顯示錯誤代碼 6?

    在 Google Play 管理中心產生新的授權金鑰後,Google Play 的內部快取會在所有服務環境中同步處理,因此商務後端會先經歷數小時的快取和傳播延遲。即使遊戲用戶端可以順利查詢產品詳細資料,但同步完成前,購買要求都會失敗並顯示錯誤代碼 6。上傳或更新授權金鑰後,請等待數小時再測試購買交易。

  2. 我可以在沒有後端伺服器的情況下使用購買流程嗎?

    從安全性的角度來看,Google 建議使用後端伺服器。

    詳情請參閱「不使用後端伺服器進行處理」。

  3. 整合 Google Play 遊戲電腦版 SDK 後,是否仍可使用現有的 API 支付系統?

    所有付款交易都必須透過 Google Play 帳款服務,由 Google Play 遊戲電腦版 SDK 處理。您無法在同一款遊戲中使用現有的 API 付款方式。

  4. 如何在開發人員模式下使用購買交易?

    請在 3 分鐘內以開發人員模式處理購買交易,否則系統會退款。

  5. 系統是否支援定期付款或訂閱項目?

    我們近期內不會提供這項功能,但歡迎提供具體用途,以便我們納入未來的發展藍圖。

  6. 購買通話的帳單錯誤是什麼?

    BillingError 是付款結果的回應。LaunchPurchaseFlow 會立即傳回,不會遭到封鎖,但您必須監聽回呼,才能瞭解何時完成並擷取結果。

  7. 如何使用用戶端購物驗證?

    建議使用伺服器端購買交易和驗證程序。 如要處理用戶端應用程式的購買交易,遊戲必須在許可清單中。如果遊戲需要存取權,請與 Google 合作夥伴聯絡。 詳情請參閱「不使用後端伺服器進行處理」。

  8. 查詢產品詳細資料的 API 限制為何?

    單次呼叫 QueryProductDetails API 時,最多可查詢 50 項產品。如果超過此上限,您必須將要求拆成多個呼叫。

  9. 在帳單用戶端中呼叫 Query Purchases 或 Launch Purchase Flow 時,需要哪些參數?

    這個函式會接受 QueryPurchasesContinuation,這是具有 std::function<void(QueryPurchasesResult)> 簽章的函式回呼。回呼會將結果連同所有 ProductPurchaseDetails 一併傳遞給您。這項資訊位於 includes/billing/models.h 檔案的 SDK 標頭檔案中。

    產生的 launch_purchase_flow_result 具有 ok() 和 code() 函式。ok() 函式會傳回流程是否成功。code() 函式會傳回 BillingError 列舉 (includes/billing/enums.h),其中有 10 種可能的錯誤情況,例如使用者取消或網路錯誤。

  10. 帳單用戶端是否支援啟動購買流程的自訂排序?

    在目前的 SDK 設計中,無法傳遞您自己的酬載。不過,您可以提供 obfuscated_account_id 和 obfuscated_profile_id 的任意組合。你可以不提供任何資訊,也可以只提供其中一項,或兩者都提供。

    offer_token 欄位為必填,用於指定使用者在結帳程序中嘗試購買的購買方案。目前,Google Play 中的每個 SKU 都有一個優惠 (例如以 $10 美元購買一項商品)。日後,Play 結帳團隊將支援多項優惠。

    為確保在購買流程中斷時中繼資料仍與購買交易相關聯,請在啟動購買對話方塊之前,將中繼資料儲存在後端伺服器,並將其與使用者的帳戶 ID、購買時的 SKU 以及目前的時間戳記建立關聯。詳情請參閱「將購買交易與內部資料建立關聯」一文。

  11. 如要從使用 OAuth 的 Google 帳單切換至以 DLL 為基礎的 Google 帳單,需要符合哪些條件?

    遊戲可以繼續使用 OAuth 登入 Google 帳戶來管理已登入的帳戶,但 Google 建議您停止使用舊版 REST 結帳 API。從 REST 帳單 API (搭配 OAuth2 登入) 切換至 SDK 流程時,可以將這項作業標示為功能旗標,因此在遊戲切換期間,兩者可以並存一段時間。

  12. Launch Purchase Flow API 呼叫是否透過網路瀏覽器處理?

    否,現在購買流程完全在遊戲中完成,使用無縫 WebView 疊加層,不必離開遊戲用戶端。

  13. 使用者是否需要分別登入各個遊戲才能購買商品?

    Google Play Games 會使用前景帳戶進行每場遊戲,因此您不必重新登入。遊戲工作階段開始時,您在 Google Play 遊戲中使用的帳戶,就是 API 呼叫發出的帳戶。購買流程會自動使用這個帳戶。

  14. 遊戲可以同時支援電腦版 SDK 和舊版付款系統嗎?

    付款系統採雙流模式運作,視遊戲二進位檔版本而定。使用舊版建構版本的用戶會繼續使用現有流程,而使用新版建構版本的用戶則會改用以 SDK 為基礎的付款方式。在過渡期間,兩種付款流程的使用者會並存。

Windows App Bundle

  1. 使用第三方啟動器提交 WAB 時,是否需要提供遊戲套件以供審查?

    您只需提交安裝程式,不必提交整個遊戲套件,審查人員就能使用安裝程式下載遊戲套件。

  2. WAB 檔案大小是否有限制?

    如果是安裝程式發布,WAB 的檔案大小上限為 10 GB。 如果是 Play 管理的發布服務,WAB 檔案大小上限為 200 GB。

  3. 上傳 WAB 後,為什麼遊戲沒有安裝或顯示?

    如果您的遊戲是首次加入 WAB,且沒有預先存在的電腦版,系統可能會自動將遊戲置於「控管型發布」保留狀態。這是因為沒有現有基準可供更新。 如要全面發布 WAB 並開放安裝遊戲,請前往 Google Play 管理中心,手動執行必要的發布動作 (例如點選「發布變更」)。

  4. 如何上傳 WAB 進行內部測試?

    將許可清單帳戶提供給 Google,以便 Google 啟用這些帳戶進行內部測試。Google 收到清單後,會確保這些使用者納入新手上路程序。

  5. 應將 WAB 套件上傳至何處?

    您可以在第一個問題中提及的位置上傳 WAB 套件。但無法手動發布。您必須向 Google 後端人員提供精確的世界標準時間 (以小時為單位)。Google 會設定發布時間表,確保內容準時發布。

電腦 SDK

  1. 舊版 API 和 Google Play 遊戲電腦版 SDK 有何差異?

    • 舊版 API 僅提供帳單功能。
    • 電腦 SDK 支援 Google 電腦服務 (GDS) 和完整電腦功能。
    • 使用電腦版 SDK 時,不需要透過瀏覽器登入 Google 帳戶。
  2. 是否能直接使用遊戲啟動器啟動遊戲,而不透過 Google Play 遊戲電腦版,藉此初始化 SDK?

    遊戲必須透過 Google Play 遊戲電腦版用戶端啟動。詳情請參閱這份開發人員文件。

  3. 電腦版 SDK 是否支援 PEM 認證檔案中的多位元組字元?

    是,SDK 支援認證的多位元組字元。

  4. SDK 如何處理多個執行個體或帳戶的 Google 帳戶登入作業?

    Google Play Games 中的每次遊戲啟動都會視為「遊戲工作階段」,且每個「遊戲工作階段」都可以與帳戶建立關聯。兩者可能不同。因此,如果使用帳戶 A 啟動遊戲,然後切換至帳戶 B 並重新啟動,兩個帳戶可以同時執行遊戲。

  5. Play 安裝參照整合功能是否適用於電腦版 SDK?

    電腦 SDK (25.5.409.0 以上版本) 支援 Play 安裝參照網址 API。 詳情請參閱「Play 安裝參照網址 API」。

啟動器

  1. 如果玩家使用第三方啟動器,而非 Google Play 用戶端,系統會自動同步處理他們的 Play Games 服務帳戶嗎?

    如要讓 SDK 函式運作,遊戲必須直接透過 Google Play Games 用戶端啟動。如果遊戲是由其他程序 (例如安裝程式或啟動器應用程式) 啟動,則該程序本身必須從 Google Play Games 用戶端啟動。遊戲必須將從用戶端收到的所有參數傳遞至用戶端程序。

  2. 如果 Google Play Games 啟動第三方遊戲啟動器,我該如何處理初始化作業?

    您不需要將 SDK 直接整合至啟動器。不過,您必須將啟動器從 Google Play Games 用戶端收到的所有命令列引數,直接傳遞至產生的子程序 (遊戲可執行檔)。如果初始化失敗 (例如傳回 kActionRequiredShutdownClientProcess),系統必須終止所有程序 (包括啟動器),Google Play Games 才能嘗試復原並自動重新啟動遊戲。詳情請參閱設定指南中的步驟 5。

  3. 遊戲和啟動器進入製作階段後,如何處理更新和維護作業?

    後續更新和維護作業必須透過啟動器執行。Google Play Games 用戶端不支援更新功能,因此啟動器必須能夠更新遊戲和啟動器本身。

  4. 安裝程式如何接收自動播放的 GPG 工作階段符記?

    GPG 會使用 --g_session_token=<token> 指令列引數將工作階段符記傳遞至安裝程式。如要啟用這項功能,請在 play_publishing_config.xml 中設定 acceptsCommandLineArguments="true"。

    安裝程式會負責擷取這個權杖,並用來啟動遊戲。如果權杖產生失敗,GPG 會啟動安裝程式,但沒有權杖 (備用)。

初始化

  1. 使用 Google Play Games 應用程式啟動遊戲時,系統會同步我的 Google 帳戶詳細資料嗎?

    透過 Google Play Games 用戶端啟動遊戲後,帳戶會自動同步,因此不需要再次透過 Google 登入程序登入。

  2. 是否可以重複使用初始化參數?

    只要 Google Play Games 用戶端正在執行,且登入資訊有效,即可進行這項操作。不過,在指南所述等情況中,當使用者關閉遊戲或遊戲因 SDK 初始化失敗 (例如 kActionRequiredShutdownClientProcess) 而結束時,遊戲啟動的所有程序都必須終止。

  3. 有什麼方法可以建立捷徑,直接開啟遊戲嗎?

    您可以使用下列 URI 直接開啟遊戲:

    googleplaygames://launch/?pid=2&id=com.company.gamename

    URI 可偵測 Google Play 遊戲電腦版用戶端是否已開啟。如果用戶端未開啟,Google Play Games 用戶端會在遊戲或啟動器執行前開啟。您需要管理遊戲或啟動器,防止多個執行個體執行。

  4. 是否能不使用 SDK,驗證 Google Play 遊戲電腦版安裝作業?

    如要驗證 Google Play 遊戲電腦版的安裝狀態,不必整合 SDK,只要檢查是否有下列 Windows 登錄機碼即可:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    如果存在這個金鑰,表示電腦已安裝 Google Play 遊戲服務 (在電腦上執行遊戲時必須安裝)。如果缺少金鑰,請引導使用者前往 Google Play 遊戲電腦版安裝頁面,下載並安裝用戶端。

測試

  1. 是否有任何類似於行動裝置的開放式或封閉式測試環境?

    我們瞭解開發人員需要類似正式環境的測試環境,但目前尚未提供專用的端對端沙箱。我們很快就會提供更完善的解決方案。

  2. 如何新增測試人員?

    Google 聯絡窗口會為每個 PC 專案建立電子郵件群組,並加入測試人員的 Google 帳戶。只有這個電子郵件群組的成員,才能在 Google Play Games 中下載測試套件。

其他

  1. 可以使用 VPN 嗎?

    如果開發人員需要在 Google Play 遊戲電腦版不支援的區域測試遊戲,建議使用 VPN 從支援的區域取得 IP 位址。

    請務必在 VPN 上啟用 TUN 模式。如需如何啟用 TUN 模式及設定防火牆的說明,請參閱 VPN 供應商的操作手冊。

    啟用 TUN 模式後,請安裝 Google Play 遊戲電腦版和模擬器,以進行測試。

  2. 如何使用 Unity 或 UE 編輯器,開始開發 Google Play Games 電腦版遊戲?

  3. 如何正確使用登錄機碼?

    您應根據根 Hive 建立登錄機碼。您可以根據用途和資料性質,將根層級 Hive 設定為 HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER。本指南以 HKEY_LOCAL_MACHINE 巢狀結構為例。

  4. Google 審查電腦套裝組合時有哪些規定?

    電腦套件會經過惡意軟體掃描,之後審查員只會測試遊戲安裝、成功啟動和解除安裝程序。

  5. 是否必須整合所有 API?

    雖然不一定要使用其他 API,但這麼做有幾點好處。 google::play::billing,才能提供應用程式內購項目和銷售數位內容。google::play::install_referrer可追蹤推薦資料,協助您瞭解哪些流量來源帶來的應用程式下載使用者最多。google::play::games::integrity可偵測潛在風險裝置和不明模擬器,保護應用程式免受惡意人士侵害。

  6. 為什麼關閉 Google Play Games 用戶端時,有些遊戲程序會終止,有些則不會?

    Google 不會控管執行中遊戲的子程序或程序。 具體行為取決於遊戲是模擬的 Android 遊戲還是電腦遊戲。模擬遊戲會安裝在自己的環境中,因此行為主要取決於模擬器初始化和關閉。

  7. 我應該使用 Google Play Games 解除安裝功能,還是自訂解除安裝程式?

    Google 建議使用 Google Play Games 解除安裝功能。

其他協助

如果需要本常見問題未涵蓋的進一步協助,請來信至 google-play-games-pc@google.com