私は本当にこの問題の解決策を見つけようとしましたが、しませんでした。この概念に関連するスレッドがいくつかありますが、包括的な解決策は見つかりませんでした。
メッセージを送信するOpenfireを備えたサーバーがあります。両方のユーザーがオンラインの場合、問題はありません。ただし、ユーザーがオフラインの場合、Whatsappのようにプッシュ通知を送信したいと思います。 Whatsappやその他のIMアプリは、ejabberの修正バージョンを使用してプッシュ通知を送信すると聞きましたが、その方法を見つけることができませんでした。
1つの可能性はGCMを使用することですが、これが正しい方法かどうかはわかりません。また、バッテリーの寿命を縮めないように、ポーリングは避けたいと思います。
誰かがこれに対するいくつかの解決策を知っているか、例がありますか?
そうですね、XMPPでGCMを使用できます。新しい GCM Cloud Connection Server を使用すると、サーバーとAndroidアプリケーション)間の双方向(クラウドからデバイスおよびデバイスからクラウド)通信にXMPPプロトコルを使用できます。
GCMクラウド接続サーバー(CCS)を使用すると、XMPPプロトコルを使用してGoogleサーバーとの永続的なAndroid接続を確立することにより、サードパーティサーバーがTCPデバイスと通信できるようになります。通信は非同期で双方向です。
私は直火を研究していて、あなたと共有したいいくつかの良いオプションを見つけました。 githubでプラグインを見つけたので、今週テストします。それはあなたの目標と私の目標に対する良い解決策になるようです: https://github.com/meisterfuu/Openfire-GCM/
別のオプションは、ToおよびFromパラメーターを使用して指定されたURLを呼び出すCallbackOnOfflineプラグインを使用することです。このURLはWebサービスのエンドポイントである可能性があり、そのデータ(ToおよびFrom)を使用して、ベースでプッシュに関連付けられたIDを取得し、プッシュを実行できます。
https://www.igniterealtime.org/projects/openfire/plugins.jsp