在即時遊戲與朋友同樂

有了即時遊戲,您便可以透過許多方式讓玩家與彼此進行社交互動。

已連結的玩家

FBInstant.player.getConnectedPlayersAsync() 方法會擷取連結至當前 Messenger 玩家的用戶名單。此方法將僅傳回已授權遊戲存取使用者資訊的已連結使用者。

備註:此方法不會區分在相同情境中玩過或沒有玩過遊戲的玩家。您可以從 FBInstant.context.getPlayersAsync() 擷取該情境的特定資訊。

擷取玩家好友

FBInstant.player.getConnectedPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

擷取情境玩家

FBInstant.context.getPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

更改遊戲情境

用戶可在不同的情境中體驗即時遊戲,例如 Messenger 對話或動態消息限時動態。透過下方的 SDK 呼叫,您可以在任何遊戲階段中切換情境,不受入口點的限制。這表示您可以讓玩家在不退出遊戲並重新啟動的情況下,自由切換至其他對話。

我們提供三種不同的遊戲情境變更方法:

  • FBInstant.context.chooseAsync() 開啟原生對話框,讓玩家選擇他們想改變至哪個對話。
  • FBInstant.context.switchAsync(contextId) 允許開發人員將玩家傳送到預先定義的情境(例如,繼續先前在不同對話中開始的比賽)。
  • FBInstant.context.createAsync(playerId) 嘗試與指定的玩家建立情境(例如,開始玩家和建議好友之間的比賽)。

使用配對功能與其他玩家一起暢玩

我們已為您的遊戲提供相關工具,以助您透過我們的遊戲情境和配對 API,將玩家帶入新遊戲情境。我們發現,與其他玩家一起玩的用戶通常會比在單人遊戲情境遊玩的用戶留得更久。這有幾個原因:

  1. 遊戲情境中的個人化更新資訊可以為玩家帶來吸引的入口點,以鼓勵他們回到遊戲
  2. 社交遊戲能有效提高留存率,這是因為多位玩家一起玩時會有更多的樂趣!

如果遊戲過程中設有具意義的社交互動,就能讓遊戲脫穎而出,並讓玩家願意與他們的朋友分享您的遊戲。

推薦用法

  1. 使用配對 API,讓玩家有機會享有不受好友互動影響的社交遊戲體驗。這對於回合制遊戲和多人遊戲尤其有用;即使您的遊戲不屬於這種類型,但如果玩家沒有玩這個遊戲的朋友、他們的朋友不太常玩這個遊戲,或他們純粹只體驗不同的遊戲體驗,那麼這個做法也能為您帶來益處。
  2. 當隨機對手在比賽結束前退出遊戲,改用人工智能玩家代替其位置

呼叫 matchPlayerAsync() 後,您的遊戲將嘗試將當前玩家與另一個玩家配對至某個情境中。我們已新增一項額外參數來指定您是否要在玩家配對之後,讓遊戲切換至新建情境,或等待玩家在 toast 點擊「玩遊戲」才切換。

配對機制分為兩種:

  1. 同步配對:配對當前玩家與其他正在找人一起玩的用戶。若成功,系統就會建立新的 Messenger 群組對話串,並將各位配對到的玩家加入其中,而玩家也會切換至此對話串的情境。玩家成功切換到新配對的情境後,對話串就會關閉。
  2. 非同步配對了解詳情):系統會立即將開始離線配對的玩家與先前開始了離線配對的其他玩家加入群組對話串,玩家可以在等待更多人加入遊戲期間退出遊戲。玩家成功配對後,系統便會將其加入所配對的對話串,並且切換至相關對話串的情境。玩家成功加入群組對話串,並且切換至配對的情境後,對話串就會關閉。

每個獲配對的對話串之預設玩家人數上限和下限分別是 2 位和 20 位,具體情況取決於該時段有多少位玩家正在等待被配對。這些值可以在 fbapp-config.json 中更改。