このドキュメントが更新されました。
日本語への翻訳がまだ完了していません。
英語の最終更新: 2022/11/09

友達とインスタントゲームをプレイする

インスタントゲームでは、プレイヤー同士がソーシャルで交流できる手段が多数用意されています。

つながっているプレイヤー

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呼び出しでは、エントリポイントに関係なく、どのセッションからもコンテキストを切り替えられます。つまり、プレイヤーがゲームを終了して再開しなくても、別のスレッドに切り替えることができます。

次の3つのコンテキスト変更メソッドがあります。

  • FBInstant.context.chooseAsync() はネイティブダイアログを開きます。そこでプレイヤーは、どのスレッドに変更するかを選択できます。
  • FBInstant.context.switchAsync(contextId) は、開発者が事前定義されたコンテキストにプレイヤーを送るためのものです(例: 別のスレッドで始まったマッチを続けるため)。
  • FBInstant.context.createAsync(playerId) は、指定されたプレイヤーとのコンテキストの作成を試みます(例: あるプレイヤーと紹介された友達との間でマッチを開始するため)。

マッチメイクで他のプレイヤーとプレイする

コンテキストAPIとマッチメイキングAPIでプレイヤーにゲームの新しいコンテキストに入れるツールがあります。他のプレイヤーと一緒にプレイした利用者のほうが、単独コンテキストのプレイヤーよりリテンションが高くなることがわかっています。これにはいくつかの理由があります。

  1. そのコンテキストでパーソナライズされたアップデートにより、ゲームに戻るための魅力的なエントリポイントを提供することができます
  2. 利用者同士が一緒にプレイしたほうが楽しいので、ソーシャルプレイはリテンションを高めます。

ゲームプレイ自体の中で意味のあるソーシャルダイナミクスによりインスタントゲームに輝きが加わり、プレイヤーがそのゲームをすべての友達とシェアしたいと思うようになります。

おすすめの用途:

  1. マッチメイクAPIを使えば、友達とのやり取りとは独立したソーシャルプレイエクスペリエンスを体験する機会をプレイヤーに提供できます。これは交互にプレイするゲームやマルチプレイヤーのゲームの場合に特に役立ちますが、他のタイプのゲームでも、特定のゲームをプレイする友達がいないプレイヤーの場合や、友達がゲームをする頻度が低い場合や、単に異なるプレイ体験を望んでいる場合に役立ちます。
  2. 試合が完了する前にランダムの対戦相手がやめた場合は、AIプレイヤーに交代します

matchPlayerAsync()を呼び出すことにより、ゲームの現在のプレイヤーを、別のプレイヤーとのコンテキストにマッチングするように試みます。プレイヤーのマッチング直後に、新たに作成されたコンテキストにゲームを切り替えるのか、それともプレイヤーがトーストの[プレイ]をクリックするまで待つのかを指定するためのパラメーターが追加されました。

マッチングには、2種類のメカニズムがあります

  1. 同期マッチング: 現在のプレイヤーを、プレイ相手を探している他のユーザーとマッチングします。成功した場合、マッチングされたプレイヤーたちが含まれる新しいMessengerグループスレッドが作成され、プレイヤーはそのスレッドのコンテキストに切り替わります。これは、新たにマッチングしたコンテキストへの切り替えにプレイヤーが成功した時点で解決します。
  2. 非同期マッチング(詳しくはこちら): オフラインマッチングを開始するプレイヤーが、それ以前にオフラインマッチングを開始した他のプレイヤーとのグループスレッドに直ちに追加されます。さらにプレイヤーが参加するのを待つ間、プレイヤーはゲームを離れることができます。マッチングが成功すると、そのプレイヤーが追加され、マッチングしたスレッドのコンテキストに切り替わります。これは、プレイヤーがグループスレッドに追加され、マッチングしたコンテキストに切り替わった時点で解決します。

マッチングされた1つのスレッド内でプレイできる最小プレイヤー数は2、最大プレイヤー数は20です(デフォルト)。同時にマッチングされようとしているプレイヤーの数に応じて異なります。値はfbapp-config.jsonで変更できます。