GCMと統合する小さなプロジェクトに取り組んでいるときに、少し奇妙な問題に遭遇しました。
メッセージが受信されたかどうかを確認するためにログを監視し始めると、ネットワークの状態を変更するまでメッセージが届かないように見えることがあります(つまり、元々WiFiで、WiFiをオフにしてモバイルデータに移動すると、メッセージが到着します大丈夫)。ネットワークの状態を変更した後、メッセージは完全に正常に到着し始めます。ネットワークの状態を以前の状態(この場合はWiFi)に戻すと、メッセージは引き続き受信されます。
プロジェクト自体には、起動時に開始する機能(起動時にGCMBaseIntentServiceを開始する)が含まれています。これも完全に正常に機能します。この問題が発生したときに手動でアプリを起動したので、アプリ/サービスは実行されていると確信しています(また、サービスが実行されているかどうかを確認し、実行されていない場合は実行して、登録されているかどうかを確認します)。
他の誰かがこの問題に遭遇したことがありますか、または私がこれをどのように解決できるかについての指針がありますか?メッセージが受信されていない時間と受信されている時間(ネットワークの状態を変更した後)の間のログには、あまり役に立ちません。GCMのドキュメントを確認しましたが、(デバイス自体の)タイムアウトが原因で受信されなかったメッセージや、これに影響を与える可能性のある構成オプションについての言及がありません。
支援に感謝します-android-sdkで提供されるデモアプリからほとんど逸脱していませんが、必要に応じてソースを提供できます。