Messaging

If you need translation feature, see below.

1. Get Messages

// get messages from channelget messages 
TPMessageRetrievalParams params = new TPMessageRetrievalParams.Builder(channel)
        .setLastMessage(lastMessage)
        .setTranslationLanguage(translationLanguage)
        .build();
                
TalkPlus.getMessages(params,
    new TPCallbackListener<List<TPMessage>, Boolean>() {
    @Override
    public void onSuccess(List<TPMessage> tpMessages, Boolean hasNext) {
        
    }
    @Override
    public void onFailure(int errorCode, Exception exception) {

    }
});

2. View Messages With File Upload

View messages with file attachment.

TPMessageRetrievalParams params = new TPMessageRetrievalParams.Builder(channel)
        .setLastMessage(lastMessage)
        .setTranslationLanguage(translationLanguage)
        .build();
        
TalkPlus.getFileMessages(params,
    new TPCallbackListener<List<TPMessage>, Boolean>() {
    @Override
    public void onSuccess(List<TPMessage> tpMessages, Boolean hasNext) {
        
    }
    @Override
    public void onFailure(int errorCode, Exception exception) {

    }
});

3. Send Message

Setting translationLanguages property in TPMessageSendParams object will return TPMessage objects with translated texts via ''success block (success closure). Message recipient will be able to check the message via "onMessageReceived" callback event

  • TPMessageSendParams class is available starting from TalkPlus Android SDK v0.5.3.

// send message
TPMessageSendParams params = new TPMessageSendParams.Builder(channel,
        TPMessageSendParams.MessageType.TEXT,
        TPMessageSendParams.ContentType.TEXT)
        .setText(textMessage)
        .setMentions(mentionsUserIDs)
        .setParentMessageId(parentMessageId)
        .setMetaData(metaData)
        .setFileUrl()
        .setTranslationLanguages(translationLanguages)
        .build();
                
TalkPlus.sendMessage(params, 
    new TalkPlus.CallbackListener<TPMessage>() {
        @Override
        public void onSuccess(TPMessage tpMessage) { 
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

// upload file
TPMessageSendParams params = new TPMessageSendParams.Builder(channel,
        TPMessageSendParams.MessageType.TEXT,
        TPMessageSendParams.ContentType.FILE)
        .setFile(file)
        .setMentions(mentionsUserIDs)
        .setParentMessageId(parentMessageId)
        .setMetaData(metaData)
        .setTranslationLanguages(translationLanguages)
        .build();
                
TalkPlus.sendMessage(params, 
    new TalkPlus.CallbackListener<TPMessage>() {
        @Override
        public void onSuccess(TPMessage tpMessage) { 
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

4. Get Message

View a single message.

TPMessageRetrievalParams params = new TPMessageRetrievalParams.Builder(channel)
        .setMessageId(messageId)
        .setTranslationLanguage(translationLanguage)
        .build();
        
TalkPlus.getMessage(params, new CallbackListener<TPMessage>() {
    @Override
    public void onSuccess(TPMessage tpMessage) {
        
    }
    @Override
    public void onFailure(int errorCode, Exception exception) {

    }
});

5. Reply To Message

Reply to another message.

TPMessageSendParams params = new TPMessageSendParams.Builder(channel)
        .setMessageId(messageId)
        .setTranslationLanguage(translationLanguage)
        .build();
        
params.textMessage = "hello"
params.parentMessageId = "anotherMessageIdThatIamReplyingTo"

TalkPlus.sendMessage(params, new CallbackListener<TPMessage> {
    @Override
    public void onSuccess(TPMessage tpMessage) {
        
    }
    @Override
    public void onFailure(int errorCode, Exception exception) {

    }
});

6. Mark As Read

You can mark a channel as read.

TalkPlus.markAsReadChannel(channel, 
    new TalkPlus.CallbackListener<TPChannel>() {
        @Override
        public void onSuccess(tpChannel: TPChannel) {
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

7. React To Message

You can add/remove reaction to a message.

// add reaction
TalkPlus.addMessageReaction(tpMessage, 
    "happy", 
    new CallbackListener<TPMessage>() {
        @Override
        public void onSuccess(TPMessage tpMessage) {            
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

// remove reaction
TalkPlus.removeMessageReaction(tpMessage, 
    "happy", 
    new CallbackListener<TPMessage>() {
        @Override
        public void onSuccess(TPMessage tpMessage) {            
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

// view message reactions
tpMessage.getReactions();
/*
{
    "happy": [
        "user1",
        "user2"
    ],
    "sad": [
        "user3"
    ]
}
*/

8. Get Unread Message Count

You can find out how many channel members have not read a particular message.

tpChannel.getMessageUnreadCount(tpMessage);

9. Delete Message

You can delete your own message.

TalkPlus.deleteMessage(channel, 
    message, 
    new TalkPlus.CallbackListener<Void>() {
        @Override
        public void onSuccess(Void unused) {
        }
        @Override
        public void onFailure(int errorCode, Exception exception) {
        }
    }
);

Last updated