0

We are trying to send some push notifications using the GCM API to Chrome users. Until 3-4 days back, the delivery rate of the notifications to the end users were about 60-70%. We have a timeout of 1 day, so people who did not come online for about a day after the notifications went out, should not get it.

We are seeing that this delivery rate has drastically dropped down to about 10%, with no change on our side. We push messages to GCM and the API returns successfully, but the messages do not get delivered. Also, a few of our users in the test pool have mentioned that despite being online(on Chrome), they did not receive any notifications when they were sent. Strangely, they did get those notifications after a couple of days(even after there was a timeout set, of 24 hours).

Does the old GCM API have some problems like the delay and drop in delivery rates? For example, for a test token, the notification was sent on Dec 1, 09:55 GMT, and delivered on Dec 3, 13:14 GMT.

We are using this endpoint : https://android.googleapis.com/gcm/send

Milind
  • 99
  • 5
  • Doesn't seem to be a wide occurrence. Have you changed anything during/before that time? – AL. Dec 06 '16 at 07:39
  • 1
    No, we haven't changed anything. The endpoint, payload are the same as per our logs. I should probably edit the question to mention that we are sending notifications to Chrome, not Android. – Milind Dec 06 '16 at 07:46
  • Since you mentioned that there was no change on your end, but still there was a sudden unexpected behavior, I think you should go ahead and proceed on reporting this to [GCM Support](https://support.google.com/code/contact/gcm_dev_support). – AL. Dec 06 '16 at 07:51
  • 1
    We have reported this to GCM support. However, the Google engineer recommended to post here too. – Milind Dec 06 '16 at 08:04
  • I just noticed that you were using the old endpoint. Have you experience the same when using the new one -- `https://gcm-http.googleapis.com/gcm/send`? Source [here](https://developers.google.com/cloud-messaging/http). – AL. Dec 06 '16 at 08:17
  • We have not tried with the new endpoint. Does the old endpoint have this problem documented? Because the old endpoint also sends us a valid, successful response, i.e., {"success": 1} – Milind Dec 06 '16 at 08:26
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/129874/discussion-between-al-and-milind). – AL. Dec 06 '16 at 08:27

1 Answers1

0

So just to keep it short, it would seem that you are using an old endpoint:

https://android.googleapis.com/gcm/send

And as far as GCM implementation goes, there wasn't any behavior reported like this as of the moment (I've been monitoring the GCM tags so.. yeah..), but you can't really guarantee the success of the request unless you are using the suggested endpoint (seen in the docs):

https://gcm-http.googleapis.com/gcm/send

I suggest to use this moving forward. And since we're also on the subject of using the suggested implementation, you should also have a look into using Firebase Cloud Messaging too. Cheers!

AL.
  • 36,815
  • 10
  • 142
  • 281