与好友一起畅玩小游戏

借助小游戏,您可以通过多种方式促进玩家之间的社交互动。

关联的玩家

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 中点击玩游戏后再切换。

共有 2 种匹配机制

  1. 同步匹配:将当前玩家与正在寻找游戏伙伴的其他用户进行匹配。如果成功,系统将创建包含已匹配玩家的新 Messenger 组,同时会将玩家切换到此会话的游戏环境。玩家成功切换到新匹配的游戏环境后,匹配流程即结束。
  2. 异步匹配详细了解):将启用离线匹配的玩家立即添加到其他之前已启用离线匹配的玩家的群组会话中,玩家可在等待更多玩家加入时离开游戏。匹配成功后,系统会添加玩家,并将其切换到已匹配对话的游戏环境中。玩家成功添加至群组对话并切换到已匹配的游戏环境后,匹配流程即结束。

在一个已匹配的对话中,默认的最小和最大玩家人数分别为 2 和 20,具体取决于同时尝试匹配的玩家人数。可在 fbapp-config.json 中更改此值。