2

IOS と Android の両方で ejabberd サーバーを使用してチャット アプリを開発しています。また、自分のサーバー api に送信されたオフライン メッセージを取得する ejabberd のモジュールも作成しました。

私自身のサーバー API は、FCM を使用して IOS/Android プラットフォームに通知を送信します。

クライアント側では、アプリケーションがフォアグラウンドまたはバックグラウンドにある場合、アプリケーションは ejabberd に接続されたままになり、クライアントがメッセージを受信すると、ejabberd はメッセージ配信ステータスを送信します。

アプリが終了している間 (サービスが実行されていない)、ejabberd (オフライン) に接続されていないという問題に直面しています。終了していないときにこのアプリにメッセージを送信すると、通知が届きますが、メッセージはまだ配信されません。アプリの終了中に通知を受信したときに、メッセージを配信済みとしてマークする方法。

さらに説明すると、同じ機能が whatsapp で正常に機能しています。

  • デバイス A には whatsapp がインストールされており、whatsapp がオフ (終了) になっている
  • デバイス B には whatsapp が実行されています
  • デバイス B がデバイス A にメッセージを送信する
  • デバイス A が whatsapp 通知を受信する
  • デバイス A で何もしなくても、デバイス B のメッセージ ステータスは [配信済み] とマークされます。

このシナリオを ejabberd で実装するにはどうすればよいですか?

4

2 に答える 2