測試、發佈與分享即時遊戲

我們推出即時遊戲,讓您可更輕易在本機測試開發版本、將發佈過程自動化,以及與團隊分享版本。本文件將詳細說明這些步驟。

透過本機伺服器測試遊戲

即時遊戲體驗的一大特色是當中的原生特效層,這些特效層會在每一個遊戲階段的前後出現。為促進開發與測試工作流程,我們讓開發人員可以透過本機伺服器執行遊戲,以模擬出玩家在我們平台上所看到的類似體驗。我們會使用內嵌測試玩家執行這個步驟,只需少量配置就足夠。

透過本機代管啟用 SSL

我們的內嵌測試玩家在 facebook.com 網域內運作,因此只能透過 https 提供。為了在透過 https 支援的網頁中內嵌內容,該內嵌內容也必須透過 SSL 提供。後續步驟會詳細引導您設定可支援安全性內容的 localhost 伺服器。我們會在下方顯示一個選項,但您也可以使用其他解決方案啟用這個行為模式。

> $ npm install -g http-server
  • 2. 透過 openssl 建立私人密鑰和證書。這是運行安全本機伺服器的必要步驟。
> $ cd path/to/my/game/
> $ openssl genrsa 2048 > key.pem
> $ openssl req -x509 -days 1000 -new -key key.pem -out cert.pem
# Fill out necessary information
  • 3. 使用 SSL 透過本機代管運行遊戲。當密鑰和證書都準備妥當後,您就可以使用 SSL 透過本機代管提供遊戲。
# Starts to serve via HTTPS, with cache disabled
> $ http-server --ssl -c-1 -p 8080 -a 127.0.0.1 
Starting up http-server, serving ./ through https
Available on:
https://127.0.0.1:8080
Hit CTRL-C to stop the server
  • 4.之後,在瀏覽器輸入 https://localhost:8080,您應該能看到遊戲正在運行。

請注意您必須嘗試存取最少一次,因為您可能需要先批准瀏覽器的安全性警告,之後才能繼續操作。在這種情況下,如果您略過這一步,遊戲便無法載入。

舉例來說,如果使用 Chrome,您可能需要存取 chrome://flags/#allow-insecure-localhost 並啟用「允許透過本機代管載入的資源使用無效證書」,以避免出現警告。

從瀏覽器執行內嵌玩家

現在遊戲已透過安全連線由本機代管提供,因此您可以在我們的玩家中內嵌遊戲。在瀏覽器輸入:

https://www.facebook.com/embed/instantgames/YOUR_GAME_ID/player?game_url=https://localhost:8080

您應該能看到遊戲在「即時遊戲玩家」中運行,就像這樣:

請注意您必須在 fb.gg/play/YOUR_GAME_ID 上運行遊戲最少一次,以確保內嵌玩家正常操作。

這時,您應該能夠使用即時遊戲 SDK 的所有功能,透過本機伺服器運行遊戲。

為安全起見,僅支援 localhost 網域供內嵌測試玩家進行測試。

在特定對話中透過本機伺服器玩遊戲

您可以在特定內容中透過本機伺服器運行遊戲。要做到這一點,只需使用上方說明的內嵌玩家即可。然後,您就能利用 FBInstant.context 方法(例如 switchAsync()createAsync()chooseAsync())來切換不同的內容。

這讓您能有效地在對話內容中透過 localhost 玩遊戲,並測試您的內容更新是否能正常傳送。

上載版本

將遊戲併入單一 .zip 檔案

即時遊戲內容在 Facebook 架構上代管,因此您無需在自己的架構上或使用第三方服務代管遊戲內容。遊戲準備好進行測試後,請將所有遊戲檔案併入單一 .zip 檔案。請注意,index.html 檔案必須位於此封存檔案的根目錄中,而非其他子資料夾內。上載套裝的方式有兩種:

1. 透過開發人員網站上載 .zip 檔案

如要上載 .zip 檔案,請在應用程式管理中心,點擊即時遊戲產品的網絡代管分頁。在此點擊上載版本,即可將 .zip 檔案上載到 Facebook 的代管服務。

之後,版本會處理該檔案,過程應只需幾秒鐘。如果狀態更改為「待命」,即表示應用程式已經準備好,可以進入製作階段!

2. 透過 Graph API 上載封存檔案

或者,您也可以透過 Graph API 呼叫上載套裝。如果您有自動配置系統,這個方式便非常實用。要做到這一點,您需要點擊上方的取得資源上載存取憑證按鈕,以從網絡代管部分要求上載憑證。

從對話框取得憑證後,您就可以提交下列呼叫至我們的 Graph API 以提交您的 .zip。請注意,我們會刻意使用影片子網域,因為網址的配置可接收較大的上載檔案。

curl -X POST https://graph-video.facebook.com/{App ID}/assets 
  -F 'access_token={ASSET UPLOAD ACCESS TOKEN}' 
  -F 'type=BUNDLE' 
  -F 'asset=@./{YOUR GAME}.zip' 
  -F 'comment=Graph API upload'

之後,您的遊戲就會在已上載的套裝清單中正常顯示。您可以使用此呼叫整合現有的版本系統。

代管限制

請緊記,Facebook 代管設有一些限制,其中最重要的是:

  • 不支援伺服器端的邏輯(例如 php)。
  • 上載檔案的總大小不得超過 200 MB。
  • 單一上載應用程式的檔案數量不得超過 500 個。

詳情請參閱網絡代管文件

測試上載的版本

將版本放入正式版環境

如要在正式版環境測試上載項目,版本必須先放到正式版環境中。點擊「★」按鈕將版本推送到正式版環境。

請注意:

系統會將處於正式版階段的版本提供給每位遊戲玩家。如要在正式版環境中測試更新而不影響現有玩家人群,您可以建立一個版本進行測試。這樣一來,系統便可以只向開發人員和測試人員提供此版本。

請注意請勿使用「建立測試應用程式」按鈕來為遊戲建立測試版應用程式。若是即時遊戲,請建立一個版本進行測試。

擁有處於正式版階段的版本後,您需要隨時測試該版本,而不是測試在本機伺服器中運行的版本。您可以使用以下任何一種方法,測試處於正式版階段的版本。

1. 在 Facebook 上玩遊戲

若要在動態消息內分享遊戲,請點擊分享遊戲部分的分享按鈕。這樣您就可以將遊戲分享至動態消息中,並透過各種介面(桌面版、iOS 或 Android)來進行測試。



2. 在 Messenger 上玩遊戲

在 Messenger 的即時遊戲清單中,您和您的團隊(分配到應用程式「管理員」、「開發人員」或「測試人員」角色的成員)應該能看到所有正在開發的遊戲清單。這份清單稱為調整中清單。這個方式讓您能在 Messenger 中測試遊戲,即使遊戲尚未發佈也可以。

如果您已將專頁與遊戲建立關聯,還可以產生可分享的連結。此連結會將用戶連至您與 Messenger Bot 的對話,並自動開啟遊戲(如已設定 Bot)。如果您還沒有設定 Bot,此連結會將用戶連至您的 Facebook 專頁,並在該處自動開啟遊戲。不論是哪一種情形,任何點擊連結的用戶都能立即玩遊戲。

提交應用程式審查

確認已發佈的版本沒有問題後,您必須將遊戲提交應用程式審查,以便我們的團隊評估遊戲品質,以及是否符合平台政策。請務必在提交前檢查發佈檢查清單,以確保您的遊戲符合所有指定條件。本指南亦載有相關指示,助您了解在通過審查後如何發佈遊戲。

後續步驟

現在您已知道如何測試並發佈遊戲,請在提交前查看我們的發佈檢查清單:即時遊戲發佈檢查清單。此外,您也可以參閱最佳操作實例部分,取得有關遊戲設計和更新的建議。