여러 가지 방법을 통해 인스턴트 게임으로 게이머 간의 소셜 상호작용을 활성화할 수 있습니다.
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 호출을 사용하면 진입점과 관계없이 어느 세션에서나 컨텍스트를 전환할 수 있습니다. 즉 게이머가 게임을 종료한 후 다시 실행하지 않고도 다른 대화로 전환할 수 있습니다.
Facebook에서는 3가지 다른 컨텍스트 변경 메서드를 제공합니다.
FBInstant.context.chooseAsync()
는 게이머가 변경할 대화를 선택할 수 있도록 하는 네이티브 대화 상자를 엽니다.FBInstant.context.switchAsync(contextId)
는 개발자가 사전 정의된 컨텍스트로 게이머를 연결할 수 있습니다(예: 다른 대화에서 시작했던 게임을 계속 진행).FBInstant.context.createAsync(playerId)
는 특정 게이머로 컨텍스트 생성을 시도합니다(예: 게이머와 추천된 친구 간에 게임 시작).Facebook은 Facebook 컨텍스트와 Matchmaking API로 새로운 컨텍스트에 게이머를 불러올 수 있는 게임 도구를 제공합니다. 다른 게이머와 게임을 플레이한 게이머는 단독 컨텍스트 게이머보다 잔류율이 높았습니다. 여기에는 몇 가지 이유가 있습니다.
게임 플레이 그 자체에 의미 있는 소셜 역학이 적용되면 인스턴트 게임이 더욱 돋보이고, 게이머들이 다른 친구들과 게임을 공유할 만큼 흥미를 느낍니다.
권장 사용:
matchPlayerAsync()
를 호출하면 게임이 현재 게이머를 다른 게이머와의 컨텍스트로 매칭을 시도합니다. 매칭할 게이머를 찾은 직후 새로 만든 컨텍스트로 게임을 전환할지, 게이머가 알림에서 플레이하기를 클릭할 때까지 기다릴지 지정할 수 있는 매개변수가 추가되었습니다.
매칭 메커니즘은 두 가지가 있습니다.
매칭된 대화창 하나의 기본적인 최소 및 최대 게이머 인원은 각각 2명과 20명이고, 같은 시간대에 매칭을 시도하는 게이머 인원에 따라 달라집니다. 이 값은 fbapp-config.json에서 변경할 수 있습니다.