본문으로 건너뛰기

메시지 전송

채널에 메시지를 전송하는 방법을 설명합니다.

공개 메시지 전송​

ChatManager.Instance.SendPublicMessage() 메서드를 호출하여 특정 채널에 메시지를 전송합니다. 전송된 메시지는 해당 채널의 모든 구독자에게 전달됩니다.

메서드 정보​

항목내용
메서드ChatManager.Instance.SendPublicMessage(string channel, string text)
콜백OnPublicMessage(ChatUserInfo sender, string message) - 메시지 수신 시 호출

파라미터​

파라미터타입설명
channelstring메시지를 전송할 채널 이름
textstring전송할 메시지 내용

사용 예제​

using UnityEngine;
using UnityEngine.UI;

public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;
public Text _textView;

private string myChannel = "Default Channel";

public void SendMessage()
{
ChatManager.Instance.SendPublicMessage(myChannel, _inputChat.text);
_inputChat.text = "";
}

public void OnPublicMessage(ChatUserInfo sender, string message)
{
// 수신한 메시지에 금칙어 필터 적용
Debug.Log($"[{sender.visitorName}] {ChatManager.Instance.Filter(message)}");
_textView.text += $"\n[{sender.visitorName}] {ChatManager.Instance.Filter(message)}";
}

// ... 기타 IChatListener 메서드 구현
}

비공개 메시지 전송 (귓속말)​

ChatManager.Instance.SendPrivateMessage() 메서드를 호출하여 특정 사용자에게만 메시지를 전송합니다.

메서드 정보​

항목내용
메서드ChatManager.Instance.SendPrivateMessage(string targetUserId, string text)
콜백OnPrivateMessage(ChatUserInfo sender, string message) - 메시지 수신 시 호출

파라미터​

파라미터타입설명
targetUserIdstring메시지를 받을 사용자 ID
textstring전송할 메시지 내용

사용 예제​

using UnityEngine;
using UnityEngine.UI;

public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;

public void SendPrivateMessage()
{
string targetUserId = "string";
ChatManager.Instance.SendPrivateMessage(targetUserId, _inputChat.text);
}

public void OnPrivateMessage(ChatUserInfo sender, string message)
{
// 수신한 귓속말에 금칙어 필터 적용
Debug.Log($"[귓속말 from {sender.visitorName}] {ChatManager.Instance.Filter(message)}");
}

// ... 기타 IChatListener 메서드 구현
}