Enable messaging
- Get the recent chat list, this API will return a maximum of three recent chats, as follows:
PTChatService.getInstance().getRecentChats(new ProtoApiCallback<List<Chat>>() {
@Override
public void onComplete(List<Chat> chats) {
if (chats != null) {
Log.d(TAG, "get recent chats");
//do something
}
}
@Override
public void onError(String errorMessage) {
Log.e(TAG, "get recent chat: " + errorMessage);
}
});
- Create new chats:
PTChatService.getInstance().createNewChat(new ProtoApiCallback<Chat>() {
@Override
public void onComplete(@Nullable Chat chat) {
if (chat != null) {
//do something
}
}
@Override
public void onError(String errorMessage) {
}
});
- Load all previous messages in a chat:
PTChatService.getInstance().getMessages(chatId, new ProtoApiCallback<List<Message>>() {
@Override
public void onComplete(@Nullable List<Message> messages) {
if (messages != null) {
// do something
}
}
@Override
public void onError(String errorMessage) {
}
});
- Send a new message in a chat:
PTChatService.getInstance().sendMessage(chatId, message, new ProtoApiCallback<Message>() {
@Override
public void onComplete(@Nullable Message message) {
if (message != null) {
// do something
}
}
@Override
public void onError(String errorMessage) {
}
});
- Receive messages in your app by implementing PTChatMessageListener interface in your activity/fragment class:
public class MyActivity extends AppCompatActivity implements PTChatService.PTChatMessageListener {
// your activity code
}
- Register and unregister your activity/fragment class to listen to this listener:
@Override
public void onCreate() {
super.onCreate();
PTChatService.getInstance().registerMessageListener(this);
}
@Override
public void onDestroy() {
super.onDestroy();
PTChatService.getInstance().unregisterMessageListener(this);
}
- By overriding the method onMessageReceived, you can perform actions based on the received Message object:
@Override
public void onMessageReceived(@Nullable Message message) {
if (message != null) {
Log.e(TAG, "onMessageReceived: " + message.getText());
}
}
Updated about 2 years ago
What’s Next