xmppejabberdwhatsappejabberd-moduleejabberd-hooks

Ejabberd Message delivery while application is terminated


I am developing a chat app using ejabberd server for both IOS and Android. I also wrote a module for ejabberd to get the offline messages sent to my own server api .

my own server api will send notifications to the IOS/Android platforms using FCM.

On the client side , if the application is in the foreground or the background , it will stay connected to ejabberd and if the client receives the message then ejabberd will send the message delivery status.

I am facing an issue while the app is terminated ( service is not running ) which means it is not connected to ejabberd (offline) . if i send a message to this app while it is not terminated , it will receive a notification but the message still undelivered . how can mark the messages as delivered when receiving the notification while the app is terminated.

to explain it more , the same functionality is working fine with whatsapp :

How can I implement this scenario with ejabberd ?


Solution

  • In case someone went into this issue , here is the solution that I implemented with help of @Mickaël Rémond from his answer.

    please note the following notes also :