채널 내 메시징

이 페이지에서는 메시지 발송/조회 및 기타 메시지와 관련된 API가 간략하게 기술되어 있습니다. 번역 기능이 필요할 경우아래 내용을 확인하여 주십시오.

1. 채널 내 메시지 목록 조회

채널 내 메시지 목록을 조회합니다.

// 특정 채널의 메시지 목록을 가져오고 싶은 경우
var messageParams = new TPMessageRetrievalParams(channel);
messageParams.lastMessage = lastMessage;
messageParams.orderBy = TPMessageOrderBy.TPOrderByLatest;
messageParams.translationLanguage = translationLanguage;
        
TalkPlusApi.GetMessages(messageParams, 
   (List<TPMessage> tpMessages, bool hasNext) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

2. 채널 내 파일 메시지 목록 조회

채널 내 파일이 첨부된 메시지 목록을 조회합니다.

// 특정 채널의 메시지 목록을 가져오고 싶은 경우
var messageParams = new TPMessageRetrievalParams(channel);
messageParams.lastMessage = lastMessage;
messageParams.orderBy = TPMessageOrderBy.TPOrderByLatest;
messageParams.translationLanguage = translationLanguage;

TalkPlusApi.GetFileMessages(messageParams, 
   (List<TPMessage> tpMessages, bool hasNext) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

3. 메시지 발송

채널에 메시지를 발송할 수 있습니다.

  • 아래 메소드를 이용하여 translationLanguages 멤버에 값을 설정할 경우, 메시지를 전송하는 측에서는 성공 콜백에서 번역된 메시지를 확인할 수 있고, 메시지를 수신하는 측에서는 "OnMessageReceived" 콜백 이벤트를 통해서 번역된 메시지를 확인할 수 있습니다.

    • TPMessageSendParams 클래스는 TalkPlus Unity SDK v0.5.3 이상에서 지원됩니다.

var sendParams = new TPMessageSendParams(channel, 
      TPMessageType.TPMessageText, 
      TPMessageContentType.TPMessageContentText);
sendParams.textMessage = textMessage;
sendParams.mentionUserIDs = mentionUserIDs;
sendParams.metaData = metaData;
sendParams.parentMessageId = parentMessageId;
sendParams.translationLanguages = translationLanguages;
            
TalkPlusApi.SendMessage(sendParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

4. 메시지 조회

단일 메시지를 조회할 수 있습니다.

// 특정 채널의 메시지 1개만 가져오고 싶은 경우 
var messageParams = new TPMessageRetrievalParams(channel);
messageParams.messageId = messageId;
messageParams.translationLanguage = translationLanguage;

TalkPlusApi.GetMessage(messageParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

5. 메시지 회신

회신 하고자 하는 메시지를 지정할 수 있습니다.

var sendParams = new TPMessageSendParams(channel, 
      TPMessageType.TPMessageText, 
      TPMessageContentType.TPMessageContentText);
sendParams.textMessage = "hello";
sendParams.parentMessageId = "anotherMessageIdThatIamReplyingTo";
            
TalkPlusApi.SendMessage(sendParams, 
   (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

6. 메시지 읽음 확인

안읽은 메시지 수를 카운팅하기 위해 메시지 읽음 확인 API를 제공합니다.

TalkPlusApi.MarkAsReadChannel(channel, (TPChannel tpChannel) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

7. 메시지 리액션

메시지 리액션 API를 제공합니다.

// reaction 추가
TalkPlusApi.AddMessageReaction(tpMessage, "happy", (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

// reaction 삭제
TalkPlusApi.RemoveMessageReaction(tpMessage, "happy", (TPMessage tpMessage) => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

// 메시지 객체에 있는 reaction 조회
tpMessage.getReactions();
/*
{
    "happy": [
        "user1",
        "user2"
    ],
    "sad": [
        "user3"
    ]
}
*/

8. 메시지 번역

채널의 특정 메시지를 지정된 언어로 번역합니다.

TalkPlusApi.TranslateMessage(tpChannel, 
    tpMessage, 
    new List<string> { "de", "en" }, 
    (TPMessage tpMessage) => {
    // SUCCESS
}, (int statusCode, Exception e) => {
    // FAILURE
});

9. 특정 메시지 안 읽은 사용자 수 확인

특정 메시지를 읽지 않은 사용자 수를 확인할 수 있는 기능을 제공합니다.

 tpChannel.GetMessageUnreadCount(tpMessage);

10. 메시지 삭제

메시지 삭제를 위한 API를 제공합니다.

TalkPlusApi.DeleteMessage(channel, message, () => {
   // SUCCESS
}, (int statusCode, Exception e) => {
   // FAILURE
});

Last updated