메시지¶
Hive 채팅 기능은 사용자가 참여한 채널에 메시지를 전송하는 채널 메시지 전송과, 특정 상대방에게 직접 메시지를 전송하는 1:1 메시지 전송 기능을 지원합니다.
채널 메시지 전송¶
사용자가 참여한 채널에 메시지를 전송하려면 ChannelSendMessageParams
객체를 생성한 뒤, 이를 Chat 클래스 sendMessage()
메서드 인자로 전달해 호출합니다.
ChannelSendMessageParams¶
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
channelId | 채널 메시지 전송할 채널 ID | string | Y |
message | 채널에 전송할 메시지 (최대 200자) | string | Y |
extraData | 채널 메시지 부가정보 최대 256B Byte (UTF-8 기준) | string | N |
다음은 사용자가 참여한 채널에 메시지를 전송하는 예제 코드입니다.
#include "HiveChat.h"
FHiveChatChannelSendMessageParams ChannelSendMessageParams;
ChannelSendMessageParams.ChannelId = TEXT("CHANNEL_ID");
ChannelSendMessageParams.Message = TEXT("Hello Hive");
ChannelSendMessageParams.ExtraData = TEXT("EXTRA_DATA");
FHiveChat::SendMessageWithChannelSendMessageParams(ChannelSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess) {
// API Call Success
}
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;
ChannelSendMessageParams params;
params.channelId = "CHANNEL_ID";
params.message = "Hello Hive";
params.extraData = "EXTRA_DATA";
Chat::sendMessageWithChannelSendMessageParams(params, [=](ResultAPI const & result) {
if (result.isSuccess()) {
// API Call Success
}
});
#import "HIVEService.h"
HiveChatChannelSendMessageParams* sendMessageParams = [[HiveChatChannelSendMessageParams alloc] init];
sendMessageParams.channelId = "CHANNEL_ID";
sendMessageParams.message = "Hello Hive";
sendMessageParams.extraData = "EXTRA_DATA";
[HiveChat sendMessageWithChannelSendMessageParams:sendMessageParams handler:nil];
채널 메시지 이벤트 관리¶
전송한 메시지는 addChannelListener
이벤트 핸들러 onChannelMessage
이벤트로 수신할 수 있습니다. 자세한 이벤트 처리 방법은 이벤트 관리 > 채널 이벤트 문서를 참고하세요.
1:1 메시지 전송¶
사용자가 특정 상대방에게 직접 메시지를 전송하려면 DirectSendMessageParams
객체를 생성한 뒤, 이를 Chat 클래스 sendMessage()
메서드 인자로 전달해 호출합니다.
DirectSendMessageParams¶
필드명 | 설명 | 타입 | 필수 여부 |
---|---|---|---|
toPlayerId | 대상 사용자의 Hive 플레이어 ID | long | Y |
message | 대상 사용자에 전송할 메시지 (최대 200자) | string | Y |
extraData | 1:1 메시지 부가정보 최대 256B Byte (UTF-8 기준) | string | N |
다음은 사용자가 특정 상대방에게 직접 메시지를 전송하는 예제 코드입니다.
#include "HiveChat.h"
FHiveChatDirectSendMessageParams DirectSendMessageParams = FHiveChatDirectSendMessageParams();
DirectSendMessageParams.ToPlayerId = 12345678l;
DirectSendMessageParams.Message = TEXT("Hello Hive");
DirectSendMessageParams.ExtraData = TEXT("EXTRA_DATA");
FHiveChat::SendMessageWithDirectSendMessageParams(DirectSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess) {
// API Call Success
}
}));
```java import com.hive.Chat; import com.hive.ResultAPI;
val params = Chat.DirectSendMessageParams( toPlayerId = 12345678, message = "Hello Hive", extraData = "EXTRA_DATA" )
Chat.sendMessage(params) ```
#import "HIVEService.h"
HiveChatDirectSendMessageParams* sendMessageParams = [[HiveChatDirectSendMessageParams alloc] init];
sendMessageParams.toPlayerId = 12345678;
sendMessageParams.message = "Hello Hive";
sendMessageParams.extraData = "EXTRA_DATA";
[HiveChat sendDirectMessageWithSendMessageParams:sendMessageParams handler:nil];
1:1 메시지 이벤트 관리¶
1:1 메시지 전송을 통해 전달된 메시지는 addDirectMessageListener
이벤트 핸들러 onDirectMessage
이벤트를 통해 수신할 수 있습니다. 자세한 이벤트 처리 방법은 이벤트 관리 > 1:1 메시지 이벤트 문서를 참고하세요.