2012-03-10 2 views
1

プッシュ通知をすぐに配信できるかどうかを判断する方法はありますか? 私が知る限り、それは不可能ですが、それについてはわかりません。Android C2DM:プッシュ通知を今すぐ配信できるかどうかを確認

は、だから私のシナリオでは、次のようになります。 私は私の友人に私のアプリは、Androidの携帯電話と通信する必要があり、私のAndroid携帯電話上の私は自分のサーバー

マイアプリを持っているAndroidアプリ を持っています。 今リアルタイム通信フレームワークを探していて、C2DMが私を助けてくれると思います。

電話機Aのアプリは、電話機Bのアプリに少しメッセージを書く必要があります。 電話機Aはオンラインで、自分のサーバーと通信できます。そのため、電話機Aはメッセージをサーバーに送信し、サーバーはこのメッセージを電話機Bに送信しようとします。

そして、私のサーバーがC2DM経由で電話機Bにメッセージを配信しようとするポイントがあります。私のサーバが知る必要があるポイントでもあり、もしC2DM経由でこのメッセージを送ることが可能であるならば。さもなければ私のサーバはsmsのようなメッセージを配信するために別のコミュニケーション手段を使うべきです。

だから、ポイントは、私は本当にこの瞬間にC2DMを経由して電話Bに配信するその可能かどうかを知る必要があること、である(もちろん、私のサーバーは、電話機BのC2DMの登録IDを知っています)。 たとえば、電話機Bがインターネットに接続されておらず、C2DMプッシュ通知を受信できない場合、サーバは電話機BにSMSを送信します。

電話機Bがオンラインの場合は、 私がしようとしているのは、すべてのユーザーに(電話がオンの場合)アクセスすることです。もし彼がオンラインであれば、C2DM経由で、それ以外の場合はSMS経由で、この時点でメッセージが配信されます。

注:C2DMは電話機Bがオンラインのときに通知を保存し、保存された通知を配信できることは知っていますが、それは使い方ではありません。また、私はC2DMの使い方を知っていることに注意してください。したがって、電話機Aから電話機Bに配信されるべき「メッセージ」は、メッセージテキスト/機密データをメッセージ本文としてC2DMプッシュ通知で直接配信されません。もちろん、配信されたメッセージは、電話機Bでアプリに通知するための「更新メッセージ」であり、何かが変更されていて、アプリはサーバーに接続して、最新の状態を「テキストメッセージ」で取得(ポーリング)する必要があります電話Aからあなた(電話B)に送信

答えて

1

プッシュ通知をすぐに配信できるかどうかを判断する方法はありますか?

いいえC2DMメッセージがに配信されるという保証はありません。すぐに放棄してください。

電話機Bがオンラインの場合は、可能でしょうか?

電話機Bがオンラインであるかどうかを知ることができます。あなたは長年のソケット接続(例えば、XMPP)のいくつかの並べ替えを使用してサーバーを実装する場合は、そのサーバーを知ることができる、それが電話機Bとのオープンソケット接続を持っている場合

+0

は、あなたの答えをいただき、ありがとうございます。まあ、私はバッテリーの電力を節約したい、それはなぜ私がC2DM経由でそれを実装するのかという理由だ。 – sockeqwe

関連する問題