8

私はGoogleCloudMessagingに基づくアプリを持っていて、それはうまく機能していました。今(今日)突然、これまでに見たことのない問題が発生し始めました。デバイス間で送信されるメッセージごとに、受信デバイスはメッセージを2回取得します。最初のものはほぼ瞬時に到着します(送信から3秒以内)。2番目は数分後に到着します。テストには2つのデバイスがあり、どちらが送信者/受信者でも問題は同じです。したがって、デバイスが他のデバイスにいくつかのメッセージを送信すると、他のデバイスはそれらをほぼ瞬時に受信しますが、後で、受信したメッセージの2番目のコピーであるメッセージの集中砲火を受信します。

送信デバイスが原因ではないことを確認するためにブレークポイントを設定しました。メッセージは1回だけ送信されました(つまり、送信用のWebサービスは1回だけ呼び出されました)。バックエンドのコードはGoogleAppEngineで実行されます。 、何年もの間変更されていません。)しかし、メッセージはどういうわけか受信デバイスに2回配信されます。ブレークポイントを使用することで、受信側の独自のコードが責任を負わないことも確認しGCMIntentService::onMessage()ました。送信されたメッセージごとに実際に2回呼び出されることが確認されています。

また、データベースの登録IDが最新であることを確認しました。この時点で私は困惑しており、さらに進歩するためのアイデアが必要です。それで、何かアイデアはありますか?

4

3 に答える 3

5

https://groups.google.com/forum/#!topic/android-gcm/EHZUTEJMeyw

上記の公式 GCM スレッドを確認してください。誰もがこの問題を経験しています。グーグルのせいだ!

于 2013-02-27T11:22:24.257 に答える
0

私たちも同じ問題を抱えており、メッセージを 2 回送信することはないと確信しています。これは、「正規 ID」についてここで説明されている内容に関連する問題である可能性があります: http://developer.android.com/google/gcm/adv.html

[...] ただし、アプリケーションのバグによって同じデバイスに対して複数の登録がトリガーされると、状態を調整するのが難しくなり、メッセージが重複してしまう可能性があります。

于 2013-02-27T11:05:15.290 に答える
0

ここでも同じ問題。MyMalcom および Urban Airship と統合された多くのアプリがあり、それらすべてが月曜日から 2 回プッシュされています。Ferran によって提案された canonicalId の変更も確認しましたが、GCM メッセージに配信されたものは問題ありません (cannonical Id の変更はありません)。

于 2013-02-27T11:39:01.913 に答える