Ravi Shankar
Ravi Shankar

Reputation: 31

how we get Message Read/seen Acknowledgment to Sender in smack or in xmpp from android

How we get Message Read/Seen Acknowledgement in smack or in XMPP from Android, 1. Single Tick Working(When User Send Message then server give Acknowledgement) 2. Double Tick Working (When Message Send to Receiver Device but receiver not Seen Message)

but when receiver Read/Seen Message how we send Acknowledgement to Sender?

Upvotes: 3

Views: 886

Answers (2)

Lakshit Nagar
Lakshit Nagar

Reputation: 337

You have to use MessageEventManager. Instantiate it as

messageEventManager = MessageEventManager.getInstanceFor(connection);

At the SENDER side, send a seen/displayed event as

messageEventManager.sendDisplayedNotification(to, messageID);

where to is JID to whom you have to send this event and messageID is the id of the message for which you are sending this event.

Now at the RECEIVER side register a listner like below:

messageEventManager.addMessageEventNotificationListener(messageEventNotificationListener);

MessageEventNotificationListener messageEventNotificationListener = new MessageEventNotificationListener() {
    @Override
    public void deliveredNotification(Jid from, String packetID) {

    }

    @Override
    public void displayedNotification(Jid from, String packetID) {
      System.out.println("HERE packetID IS THE MESSAGE ID FOR WHICH YOU RECEIVED SEEN/DISPLAYED EVENT AND YOU CAN SET STATUS FOR THAT MESSAGE");
    }

    @Override
    public void composingNotification(Jid from, String packetID) {

    }

    @Override
    public void offlineNotification(Jid from, String packetID) {

    }

    @Override
    public void cancelledNotification(Jid from, String packetID) {

    }
};

Upvotes: 1

forever_software
forever_software

Reputation: 145

You can use MessageEventNotificationListener and MessageEventManager. 1) Every message start with single tick. 2) When message is delivered and receiving user sent delivered notification to sender. Sender side change from single tick to double tick 3) When receiving user read this message, this user sent displayed notifications to sender. Sender side change from double tick to blue double tick.Please review smack javadoc.

Upvotes: 1

Related Questions