TPMessage 객체의 'getTranslatedText' 메소드를 호출하면 Key-Value 형태의 타입으로 번역 결과물이 반환되며, 'translationLanguage(s)' 파라미터에 사용한 언어 코드 (ISO-639) 값을 키(KEY) 값으로 사용하면 번역된 텍스트(Value)를 가져올 수 있습니다.
1. 채널 내 메시지 목록 조회
채널 내 메시지 목록을 조회합니다.
마지막 수신 시간을 기준으로 정렬되어 있습니다.
TPMessageRetrievalParams 객체의 translationLanguage 프로퍼티를 설정할 경우, 번역된 메시지 객체 또는 번역된 메시지 목록 객체가 성공 블럭 (성공 클로저)를 통해서 TPMessage 객체가 전달됩니다.
채널에 과거에 전송된 메시지를 대상으로 번역된 메시지를 가져오는 기능을 수행합니다.
실시간으로 전달되는 메시지에 대한 번역 언어 설정은 로그인 메소드에서 설정할 수 있습니다.
// 특정 채널의 메시지 목록을 가져오고 싶은 경우
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
}];
// 특정 채널의 메시지 목록을 가져오고 싶은 경우let params =TPMessageRetrievalParams(channel: channel)params?.lastMessage = messageparams?.orderby = .orderByLatestparams?.translationLanguage = translationLanguageTalkPlus.sharedInstance()?.getMessages(params, success: { tpMessages, hasNext in// SUCCESS// If 'hasNext' is true, call this method with the last object in 'tpMessages'.}, failure: { (errorCode, error) in// FAILURE})
2. 채널 내 파일 메시지 목록 조회
채널 내 파일이 첨부된 메시지 목록을 조회합니다.
마지막 수신 시간을 기준으로 정렬되어 있습니다.
TPMessageRetrievalParams 객체의 translationLanguage 프로퍼티를 설정할 경우, 번역된 메시지 객체 또는 번역된 메시지 목록 객체가 성공 블럭 (성공 클로저)를 통해서 TPMessage 객체가 전달됩니다.
채널에 과거에 전송된 메시지를 대상으로 번역된 메시지를 가져오는 기능을 수행합니다.
실시간으로 전달되는 메시지에 대한 번역 언어 설정은 로그인 메소드에서 설정할 수 있습니다.
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
}];
let params =TPMessageRetrievalParams(channel: channel)params?.lastMessage = messageparams?.orderby = .orderByLatestparams?.translationLanguage = translationLanguageTalkPlus.sharedInstance()?.getFileMessages(params, success: { tpMessages, hasNext in// SUCCESS// If 'hasNext' is true, call this method with the last object in 'tpMessages'.}, failure: { (errorCode, error) in// FAILURE})
3. 메시지 발송
채널에 메시지를 발송할 수 있습니다.
현재 지원하는 타입은 text, hidden, custom, admin 타입입니다.
hidden 메시지 타입 발송 시, push notification은 발송되지 않습니다.
admin 메시지 타입은 TalkPlus 대시보드 또는 REST API를 통해서만 발송이 가능합니다.
멘션하고 싶은 사용자가 있을 시, mentions 필드에 멘션하고자 하는 사용자 ID 배열을 넘겨주면 됩니다.
메시지 발송 시 회신 하고자 하는 메시지를 parentMessageId 필드를 이용하여 지정할 수 있습니다.
data (metaData)의 경우, 최대 10개의 Key-Value 형식의 데이터를 넣을 수 있습니다.
그 외에 이모티콘은 메시지 본문 텍스트에 필요한 값을 넣고 직접 파싱 후 표시하는 방법이 있습니다.
아래 메소드를 이용하여 translationLanguages 파라미터를 설정할 경우, 메시지를 전송하는 측에서는 성공 블럭 (성공 클로저)에서 번역된 메시지를 확인할 수 있고, 메시지를 수신하는 측에서는 "messageReceived" 콜백 이벤트를 통해서 번역된 메시지를 확인할 수 있습니다.