2016-04-18 1 views
0

私はインスタントメッセージングアプリケーションを開発しています。私はクライアントにメッセージをプッシュするためにSignalRを使うつもりです。最新のメッセージを受け取るためにオフラインのデバイスをどのように処理する必要がありますか?オフラインインスタントメッセージ

  1. サーバーがメッセージをデバイスに送信したいとき、デバイスがオンラインかどうかは気にしません。 SignalRでデータを送信するだけなので、もしデバイスがオフラインの場合、ユーザーはメッセージを取得しません。デバイスが再びオンラインになると、デバイスのSQLite内のレコードの最新IDがサーバに送信されます。次に、サーバーはID以上のメッセージをクライアントに送信します。

  2. サーバがメッセージをデバイスに送信したいときは、まずデバイスがオンラインかオフラインかをチェックします。オンラインの場合は、SignalRを使用してメッセージを送信します。端末がオフラインの場合、Android用のGCMまたはiOS向けのAPNSを使用して端末にプッシュ通知が送信されます。その後、デバイスがオンラインになると、プッシュ通知がチェックされ、SQLiteのメッセージが更新されます。

どのソリューションが優れていますか?

+0

@ Biffen-ありがとうございました。 –

答えて

0

正直、あなたのニーズによって異なります。アプリケーションを使用していないときにクライアントに通知されることを期待していますか?私はこれが(スカイプや友人のような)ほとんどの汎用インスタント・メッセージング・アプリケーションに当てはまると考えています。

また、アプリケーションを実行していないときに通知を受けたくない場合もあります。個人的には、より簡単なオプション(最初のオプション1)を行い、必要に応じて通知を追加することをお勧めします。 PushSharpは、この種のもののための素晴らしいツールです。