我們推出即時遊戲,讓您可更輕易在本機測試開發版本、將發佈過程自動化,以及與團隊分享版本。本文件將詳細說明這些步驟。
即時遊戲體驗的一大特色是當中的原生特效層,這些特效層會在每一個遊戲階段的前後出現。為促進開發與測試工作流程,我們讓開發人員可以透過本機伺服器執行遊戲,以模擬出玩家在我們平台上所看到的類似體驗。我們會使用內嵌測試玩家執行這個步驟,只需少量配置就足夠。
我們的內嵌測試玩家在 facebook.com
網域內運作,因此只能透過 https
提供。為了在透過 https
支援的網頁中內嵌內容,該內嵌內容也必須透過 SSL 提供。後續步驟會詳細引導您設定可支援安全性內容的 localhost
伺服器。我們會在下方顯示一個選項,但您也可以使用其他解決方案啟用這個行為模式。
> $ npm install -g http-server
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
# 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
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
玩遊戲,並測試您的內容更新是否能正常傳送。
即時遊戲內容在 Facebook 架構上代管,因此您無需在自己的架構上或使用第三方服務代管遊戲內容。遊戲準備好進行測試後,請將所有遊戲檔案併入單一 .zip 檔案。請注意,index.html
檔案必須位於此封存檔案的根目錄中,而非其他子資料夾內。上載套裝的方式有兩種:
如要上載 .zip 檔案,請在應用程式管理中心,點擊即時遊戲產品的網絡代管分頁。在此點擊上載版本,即可將 .zip 檔案上載到 Facebook 的代管服務。
之後,版本會處理該檔案,過程應只需幾秒鐘。如果狀態更改為「待命」,即表示應用程式已經準備好,可以進入製作階段!
或者,您也可以透過 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 代管設有一些限制,其中最重要的是:
詳情請參閱網絡代管文件。
如要在正式版環境測試上載項目,版本必須先放到正式版環境中。點擊「★」按鈕將版本推送到正式版環境。
系統會將處於正式版階段的版本提供給每位遊戲玩家。如要在正式版環境中測試更新而不影響現有玩家人群,您可以建立一個版本進行測試。這樣一來,系統便可以只向開發人員和測試人員提供此版本。
請注意:請勿使用「建立測試應用程式」按鈕來為遊戲建立測試版應用程式。若是即時遊戲,請建立一個版本進行測試。
擁有處於正式版階段的版本後,您需要隨時測試該版本,而不是測試在本機伺服器中運行的版本。您可以使用以下任何一種方法,測試處於正式版階段的版本。
若要在動態消息內分享遊戲,請點擊分享遊戲部分的分享按鈕。這樣您就可以將遊戲分享至動態消息中,並透過各種介面(桌面版、iOS 或 Android)來進行測試。
在 Messenger 的即時遊戲清單中,您和您的團隊(分配到應用程式「管理員」、「開發人員」或「測試人員」角色的成員)應該能看到所有正在開發的遊戲清單。這份清單稱為調整中清單。這個方式讓您能在 Messenger 中測試遊戲,即使遊戲尚未發佈也可以。
如果您已將專頁與遊戲建立關聯,還可以產生可分享的連結。此連結會將用戶連至您與 Messenger Bot 的對話,並自動開啟遊戲(如已設定 Bot)。如果您還沒有設定 Bot,此連結會將用戶連至您的 Facebook 專頁,並在該處自動開啟遊戲。不論是哪一種情形,任何點擊連結的用戶都能立即玩遊戲。
現在您已知道如何測試並發佈遊戲,請在提交前查看我們的發佈檢查清單:即時遊戲發佈檢查清單。此外,您也可以參閱最佳操作實例部分,取得有關遊戲設計和更新的建議。