This question already has an answer here:
For Push notifications we are using GCM(Google Cloud Messaging). It was working fine when we used play-services:8.3.0 . We process push notifications with our own receiver. After upgrading to com.google.android.gms:play-services:8.4.0
Push not coming to my myGcmListenerService, instead its shown by itself in notification bar. Also it shows this error in Log
GcmAnalytics: Error while parsing timestamp in GCM event.
With 8.3.0 we received push like this:
Bundle[{gcm.notification.e=1, google.c.a.ts=234343426, gcm.notification.badge=1, gcm.notification.sound=default, gcm.notification.sound2=default, gcm.notification.body=John M @ Cords, Wires And Cable Ftu, gcm.notification.data={"name":"new_chat_message","message_id":490666,"channel_id":5366}, google.c.a.e=1, collapse_key=com.domain.app.debug}]
With 8.4.0 pushes coming like this:
Bundle[{notification=Bundle[{sound2=default, e=1, body=John M @ Cords, Wires And Cable Rrr, data={"name":"new_chat_message","message_id":490641,"channel_id":5366}, badge=1, sound=default}], collapse_key=com.domain.app.debug}]
In your server just send the
e
field aszero
inside thenotification
field.And then in android the bundle will be:
So now if your app is in background it will not show the notification by itself and will receive the bundle in your
GcmListenerService
.But if you have both notification and data payloads and your app is in background, it will show the notification by itself, as described here.