正規 ID の概念をテストするために、意図的にアプリを GCM に数回登録しましたが、クラウドから返されません。以下のサーバーログを参照してください。同じデバイスであり、Android ログでメッセージを 4 回受信したことがわかります。しかし、Google から正規 ID が返ってこないのですが、何が誤解されているのでしょうか?
[INFO com.bipper.filters.PushUpdatesFilter] method: POST childId: 13 has pending updates: true url: /mybipperapi/do/parents/1/children/13/usagelimits
[INFO com.bipper.services.gcm.GcmSenderService] registrationId: APA91bHQIWguRXvpVrg7Xh1nOsUqqbephClS9KkuuFf0eg3fkfgjkmvi1o-0WaSwWWdWwqXw9e3X80OsZwdINr1ufBjEXQJ5om48lL6q8bH3Vrlaf5U11FbyzQdVvzGy-3QBqahc_nMh9FeiL2sBzU0KPGG3y9xtYg
[INFO com.bipper.services.gcm.GcmSenderService] Sent message to one device: [ messageId=0:1349650679774901%d3cfcce76e2555b5 ]
[INFO com.bipper.services.gcm.GcmSenderService] registrationId: APA91bE9Vl_qijVdpFTqlJXA2OHyaF2cjKaCi8ZvNrD5r2woNs_TSuJgVuxn7RIF3pef6vdtd2MMV1TrWnusbGPXy4uWT4KJBhuAoAYgCjbXJduv-oz13_xICIKYOZTAFH2OpuC8E1Hw65KN6N4QukxG0W4Zor8jSg
[INFO com.bipper.services.gcm.GcmSenderService] Sent message to one device: [ messageId=0:1349650679857971%d3cfcce76e2555b5 ]
[INFO com.bipper.services.gcm.GcmSenderService] registrationId: APA91bEzQag9HBPbrR0wtaSuR3HA5NV795ZuDzxwQJVnQfc2r1lDv0gUXxc6GikUJDWMiUSge-b0BS1Tz2yIr8flpBqmAdpgQnatvP19PVm9zd8PopE51T-NJkfqqX65oPfKkx93Os7qS8_-IokjbyNIOK5FDCsrAQ
[INFO com.bipper.services.gcm.GcmSenderService] Sent message to one device: [ messageId=0:1349650679940798%d3cfcce76e2555b5 ]
[INFO com.bipper.services.gcm.GcmSenderService] registrationId: APA91bG_nVU-8VM9JSbTlxjAuseJ4LZG75BOoP5kd85garpcW698w4uwGWCy3dkUt3pXiXWhAV-KLPuEr-vw4_yARwjma2U46KXjmEoBwkTaVNi9t5M4sKRtqaKGZTcsaoa_Ng4EenVw41QFTi2At75946WR3Qu7jQ
[INFO com.bipper.services.gcm.GcmSenderService] Sent message to one device: [ messageId=0:1349650680044947%d3cfcce76e2555b5 ]
[WARN com.bipper.filters.PushUpdatesFilter] results has size 4, this is fishy
[INFO com.bipper.filters.PushUpdatesFilter] [ messageId=0:1349650679774901%d3cfcce76e2555b5 ]
[INFO com.bipper.filters.PushUpdatesFilter] [ messageId=0:1349650679857971%d3cfcce76e2555b5 ]
[INFO com.bipper.filters.PushUpdatesFilter] [ messageId=0:1349650679940798%d3cfcce76e2555b5 ]
[INFO com.bipper.filters.PushUpdatesFilter] [ messageId=0:1349650680044947%d3cfcce76e2555b5 ]
ドキュメント(リンク)には次のように書かれています:
正規 ID
サーバー側では、アプリケーションが正常に動作している限り、すべて正常に動作するはずです。ただし、アプリケーションのバグによって同じデバイスに対して複数の登録がトリガーされると、状態を調整するのが難しくなり、メッセージが重複してしまう可能性があります。
GCM は、このような状況から簡単に回復できるように、「正規登録 ID」と呼ばれる機能を提供します。正規登録 ID は、アプリケーションによって要求された最後の登録の ID として定義されます。これは、サーバーがデバイスにメッセージを送信するときに使用する ID です。
後で別の登録 ID を使用してメッセージを送信しようとすると、GCM は通常どおりリクエストを処理しますが、レスポンスの registration_id フィールドに正規の登録 ID が含まれます。最終的に使用している ID が機能しなくなるため、サーバーに保存されている登録 ID をこの正規 ID に置き換えてください。