3

Android デバイスで GCM プッシュ通知が適切に届かないという問題が発生しています。何日もの調査の結果、Android デバイスはハートビートを使用して GCM サービスへの接続を維持していることがわかりました。悲しいことに、ハートビートが高すぎるように思われるため、Android デバイスは (常にではありませんが) GCM サービスへの接続を失う可能性があります (たとえば、WLAN から 3G に切り替える場合)。

この問題については、Google の製品フォーラムで多くの議論がなされてきましたが、parse.com のようなサードパーティのプッシュ サービスを使用する以外に、実際の解決策はないようです。

今回、Google は GCM クラウド接続サーバーを発表しました。これにより、Android デバイス上のアプリは、GCM を介してサードパーティのアプリ サーバーにアップストリーム メッセージを送信できます。

アップストリーム メッセージを使用すると、接続が利用できないときに GCM ネットワークへの再接続が強制されるかどうかは誰にもわかりませんか?

4

2 に答える 2

2

これをテストしましたが、そうではないようです。ただし、次のブロードキャスト インテントを送信することで、Android に定期的な通知ハートビートを送信させることができます。

com.google.android.intent.action.MCS_HEARTBEAT
com.google.android.intent.action.GTALK_HEARTBEAT

これは、Google Play の Push Notification Fixer アプリから取得しました (私は開発者ではありません)。 https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer.noroot

于 2014-02-06T07:16:41.473 に答える
0

ここで問題の完全な説明を読むことができます:

https://productforums.google.com/forum/#!msg/nexus/fslYqYrULto/lU2D3Qe1mugJ

簡単に言えば、問題は一部のルーターまたはモバイル キャリアによって引き起こされる tcp アイドル タイムアウトです。

于 2014-02-08T11:46:05.783 に答える