지원 프로그램
home
슬기로운 데모생활
home

8. 매치메이킹 로비 채팅 메시지 송수신

생성일
2024/03/14 23:16
태그
상위 항목
하위 항목

로비 채팅 메시지 전송 API

StoveMatchSDK.SendLobbyMsg 메서드로 매치메이킹 로비 내의 모든 유저에게 채팅 메시지를 송신합니다.
using Stove.PCSDK.NET.Matchmaking; string lobby = this.lobby; string message = "채팅 메시지"; string myProfile = "http://onstove.myprofile"; StoveMatchSDK.SendLobbyMsg(lobby, message, myProfile);
Plain Text
복사
채팅 메시지(message)는 금칙어가 적용됩니다. 금칙어로 필터링된 메시지는 "****" 형태로 전송됩니다. 마지막 파라미터(myProfile)는 금칙어 적용없이 데이터 그대로 전송하며, json string / 내 프로필 uri등을 전송시 활용할 수 있습니다.

로비 채팅 메시지 송수신 콜백

StoveMatchSDK.SendLobbyMsg 메서드가 실행중에 오류가 발생하면 error.result(에러 코드) StovePCMatchmakingResult에서 내용을 확인할 수 있습니다.
로비 채팅에 대한 콜백을 받기위해서는 사전에 델리게이트를 등록해야 합니다.
내가 로비에 채팅 메시지 전송시 OnSendLobbyMessage 콜백이 호출됩니다.
로비에서 다른 유저의 채팅 메시지 수신시 OnRecvLobbyMessage 콜백이 호출됩니다.
using Stove.PCSDK.NET.Matchmaking; // 로비 채팅 송신 델리게이트를 등록 SDK.EventSendLobbyMessage += GameObj.OnSendLobbyMessage; // 로비 채팅 수신 델리게이트를 등록 SDK.EventRecvLobbyMessage += GameObj.OnRecvLobbyMessage; // 로비에서 채팅 전송 private void OnSendLobbyMessage(StovePCMatchmakingError error, StovePCMatchmakingSendLobbyMessage sendLobbyMessage) { // 게임 로직 처리 if (error.result == StovePCMatchmakingResult.NO_ERROR) { } // 에러 처리 else { StringBuilder sb = new StringBuilder(); // 에러 코드 sb.AppendFormat(" - fail code : {0}", error.result); // 구체적인 에러 내용이 있을 경우 sb.AppendFormat(" - fail message : {0}", error.message); Debug.Log(sb.ToString()); } } // 로비에서 채팅 수신 private void OnRecvLobbyMessage(StovePCMatchmakingError error, StovePCMatchmakingRecvLobbyMessage recvLobbyMessage) { // 게임 로직 처리 if (error.result == StovePCMatchmakingResult.NO_ERROR) { } // 에러 처리 else { StringBuilder sb = new StringBuilder(); // 에러 코드 sb.AppendFormat(" - fail code : {0}", error.result); // 구체적인 에러 내용이 있을 경우 sb.AppendFormat(" - fail message : {0}", error.message); Debug.Log(sb.ToString()); } }
Plain Text
복사
로비에서 다른 유저 메시지를 수신할 수 있기때문에 주기적으로 RunCallback 메서드를 호출해야 합니다.