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

您可輕鬆的在本機測試即時遊戲的開發版本,自動進行發佈作業,並與團隊分享建置。本文件會詳細說明以下步驟。

從本機伺服器測試遊戲

即時遊戲體驗中最重要的部分,便是在玩家玩遊戲之前和之後加入的原生重疊。為了協助簡化開發及測試流程,我們允許開發人員從本機伺服器執行遊戲,從中大致掌握玩家在我們平台上看見的遊戲畫面。您只需要先完成幾項相關設定,便可透過我們的內嵌測試播放程式完成此作業。

透過 localhost 啟用 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 從 localhost 執行遊戲。金鑰和憑證準備就緒後,便可使用 SSL 從 localhost 提供。
# 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 並啟用「允許從 localhost 載入的無效資源憑證」以移除警告。

從瀏覽器執行內嵌播放程式

透過安全連線從 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. 透過圖形 API 上傳封存

或者,您也可透過圖形 API 呼叫來上傳套件組合。如果您擁有自動部署系統,這是極為實用的作法。首先,您必須從網站管理部分要求存取上傳權杖,方法是點擊頂部的「取得資產上傳存取權杖」按鈕。

從對話方塊取得權杖後,您可提交下列呼叫到我們的圖形 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)。
  • 上傳檔案的大小總計不可超過 200MB。
  • 單一應用程式內上傳的檔案數量不可超過 500 個。

請參閱網站代管文件瞭解詳情。

測試上傳建置

生產化建置

若要在製作階段環境中測試上傳,必須先針對製作階段為建置進行分段。請點擊「★」按鈕,便可讓建置進入製作階段。

注意:

您的製作階段建置將會是供每個遊戲玩家使用的建置。為了在不影響現有玩家基礎的情況下測試製作階段中的更新,可以對建置進行分段測試。這會讓建置僅供應用程式的開發人員和測試人員使用。

注意請勿使用「建立測試版應用程式」按鈕為遊戲建立測試版應用程式,分段測試建置才是處理即時遊戲的方法。

在製作階段備妥建置後,請一律測試該製作階段建置,而不是測試在目前本機伺服器中執行的建置。您可以使用下列其中一種方法測試製作階段建置。

1. 在 Facebook 上玩遊戲

若要在動態消息中分享遊戲,請點擊分享遊戲部分的分享按鈕。這麼做可讓您在動態消息中分享遊戲,並從任何介面(桌面版、iOS 版或 Android 版)測試遊戲。



2. 在 Messenger 上玩遊戲

在 Messenger 的「即時遊戲」清單中,您和團隊成員(在應用程式中受指派為「管理員」、「開發人員」或「測試員」角色的用戶)應該都有所有建構中遊戲的清單。這份清單的名稱為開發中。您可藉此在 Messenger 中測試遊戲(無論遊戲是否已發佈)。

如果遊戲有相關聯的粉絲專頁,您也可以產生可分享的連結。如果您有設定 Bot,這個連結會將用戶導向與您 Messenger Bot 的對話,且系統會自動開啟遊戲。如果您沒有設定 Bot,這個連結會將用戶導向您的 Facebook 粉絲專頁,系統會從該專頁自動開啟遊戲。無論是何種方式,點擊連結的用戶應該都能立刻玩遊戲。

提交進行應用程式審查

準備好可發佈的版本後,請提交遊戲進行應用程式審查,我們的團隊會審核品質並確認遊戲是否遵守開放平台政策。請務必在提交前核對發佈檢查清單,確認遊戲符合所有指定標準。該指南也提供遊戲通過審查後的發佈操作指示。

後續步驟

現在您已瞭解如何測試與發佈遊戲,請在提交遊戲前,核對正式上線檢查清單:即時遊戲正式上線檢查清單。此外,請參閱最佳作法章節,查看遊戲設計和更新的相關建議。