透過即時遊戲,您可以利用多種方式與玩家展開社交互動。
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,來讓遊戲玩家進入新的情境。我們發現,和其他玩家一起玩的用戶,留存率高於單獨情境的玩家。這個現象的產生有下列幾個原因:
在遊戲中從事有意義的社交活動,可讓您的即時遊戲具有吸引力,興奮的玩家會和所有朋友分享您的遊戲。
建議的使用方式:
透過呼叫 matchPlayerAsync()
,遊戲會嘗試將目前的玩家與其他玩家在某情境中配對。我們已額外新增一個參數,可指定是否要讓遊戲在完成玩家配對後,立即切換到新建立的情境,或是等到玩家點擊快顯通知中的「玩遊戲」後再切換。
配對機制有兩種:
取決於同一時間有多少玩家試著進行配對,一個配對執行緒中預設的玩家人數下限和上限分別是 2 個和 20 個人。這些值可在 fbapp-config.json 中變更。