본문으로 건너뛰기

메시지 전송

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

공개 메시지 전송

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 메서드 구현
}