채널 내 메시징
이 페이지에서는 메시지 발송/조회 및 기타 메시지와 관련된 API가 간략하게 기술되어 있습니다. 번역 기능이 필요할 경우, 아래 내용을 확인하여 주십시오.
1. 채널 내 메시지 목록 조회
채널 내 메시지 목록을 조회합니다.
// 특정 채널의 메시지 목록을 가져오고 싶은 경우
TPMessageRetrievalParams *params =
[[TPMessageRetrievalParams alloc] initWithChannel:channel];
params.lastMessage = lastMessage;
params.orderby = TPOrderByLatest;
params.translationLanguage = translationLanguage;
[[TalkPlus sharedInstance] getMessages:params
success:^(NSArray<TPMessage *> *tpMessages, BOOL hasNext) {
// SUCCESS
// If 'hasNext' is YES, call this method with the last object in 'tpMessages'.
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
2. 채널 내 파일 메시지 목록 조회
채널 내 파일이 첨부된 메시지 목록을 조회합니다.
TPMessageRetrievalParams *params =
[[TPMessageRetrievalParams alloc] initWithChannel:channel];
params.lastMessage = lastMessage;
params.orderby = TPOrderByLatest;
params.translationLanguage = translationLanguage;
[[TalkPlus sharedInstance] getFileMessages:params
success:^(NSArray<TPMessage *> *tpMessages, BOOL hasNext) {
// SUCCESS
// If 'hasNext' is YES, call this method with the last object in 'tpMessages'.
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
3. 메시지 발송
채널에 메시지를 발송할 수 있습니다.
아래 메소드를 이용하여
translationLanguages
파라미터를 설정할 경우, 메시지를 전송하는 측에서는 성공 블럭 (성공 클로저)에서 번역된 메시지를 확인할 수 있고, 메시지를 수신하는 측에서는 "messageReceived" 콜백 이벤트를 통해서 번역된 메시지를 확인할 수 있습니다.TPMessageSendParams
클래스는 Klat iOS SDK v0.5.3 이상에서 지원됩니다.
// 메시지 발송
TPMessageSendParams * params =
[[TPMessageSendParams alloc] initWithContentType:TPMessageContentText
messageType:TPMessageText
channel:channel];
params.textMessage = text; // 필수 파라미터
params.mentionUserIDs = mentionUserIDs;
params.parentMessageId = parentMessageId;
params.fileUrl = fileUrl;
params.translationLanguages = translationLanguages;
[[TalkPlus sharedInstance] sendMessage:params success:^(TPMessage *tpMessage) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
// 파일 업로드
TPMessageSendParams * params =
[[TPMessageSendParams alloc] initWithContentType:TPMessageContentFile
messageType:TPMessageText
channel:channel];
params.filePath = filePath; // 필수 파라미터
params.textMessage = textMessage;
params.mentionUserIDs = mentionUserIDs;
params.parentMessageId = parentMessageId;
params.translationLanguages = translationLanguages;
[[TalkPlus sharedInstance] sendMessage:params success:^(TPMessage *tpMessage) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
4. 메시지 조회
단일 메시지를 조회할 수 있습니다.
// 특정 채널의 메시지 1개만 가져오고 싶은 경우
TPMessageRetrievalParams *params =
[[TPMessageRetrievalParams alloc] initWithChannel:channel];
params.messageId = messageId;
params.translationLanguage = translationLanguage;
[[TalkPlus sharedInstance] getMessage:tpChannel
success:^(TPMessage *tpMessage) {
} failure:^(int errorCode, NSError *error) {
}];
5. 메시지 회신
회신 하고자 하는 메시지를 지정할 수 있습니다.
TPMessageSendParams * params =
[[TPMessageSendParams alloc] initWithContentType:TPMessageContentText
messageType:TPMessageText
channel:channel];
params.textMessage = @"hello";
params.parentMessageId = @"anotherMessageIdThatIamReplyingTo";
[[TalkPlus sharedInstance] sendMessage:params success:^(TPMessage *tpMessage) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
6. 메시지 읽음 확인
안 읽은 메시지 수를 카운팅하기 위해 메시지 읽음 확인 API를 제공합니다.
[[TalkPlus sharedInstance] markAsReadChannel:tpChannel
success:^(TPChannel *tpChannel) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}]
7. 메시지 리액션
메시지 리액션 API를 제공합니다.
// reaction 추가
[[TalkPlus sharedInstance] addMessageReaction:tpMessage
reaction:reaction
success:^(TPMessage *tpMessage) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
// reaction 삭제
[[TalkPlus sharedInstance] removeMessageReaction:tpMessage
reaction:reaction
success:^(TPMessage *tpMessage) {
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
// 메시지 객체에 있는 reaction 조회
[tpMessage getReactions];
/*
{
"happy": [
"user1",
"user2"
],
"sad": [
"user3"
]
}
*/
8. 메시지 번역
채널의 특정 메시지를 지정된 언어로 번역합니다.
[[TalkPlus sharedInstance] translateMessage:tpChannel
message:tpMessage
targetLanguages:@[@"en",@"de"]
success:^(TPMessage *tpMessage) {
// SUCCESS
}, failure:^(int errorCode, NSError *error) {
// FAILURE
}];
9. 특정 메시지 안 읽은 사용자 수 확인
특정 메시지를 읽지 않은 사용자 수를 확인할 수 있는 기능을 제공합니다.
[tpChannel getMessageUnreadCount:tpMessage];
10. 메시지 삭제
메시지 삭제를 위한 API를 제공합니다.
[[TalkPlus sharedInstance] deleteMessage:tpChannel
message:tpMessage
success:^{
// SUCCESS
} failure:^(int errorCode, NSError *error) {
// FAILURE
}];
Last updated