Search code examples
google-chromefirebasefirebase-cloud-messagingfirebase-notifications

Chrome Web notification 'MismatchSenderId' error


I have deployed the sample code for Chrome push notifications and updated the gcm_sender_id to a newly configured project, the client is able to subscribe/unsubscribe without issue but when posting a request to send a notification the response MismatchSenderId is continually returned.

I have tried creating multiple new projects console.firebase.google.com, but nothing seems to work.

Request:

POST /gcm/send HTTP/1.1
Host: android.googleapis.com
Authorization: key=<Server Key/>
Content-Type: application/json
{
    "registration_ids":[
        "<Registration-ID/>"
    ]
}

Response:

{
  "multicast_id": 6881038306061588882,
  "success": 0,
  "failure": 1,
  "canonical_ids": 0,
  "results": [
    {
      "error": "MismatchSenderId"
    }
  ]
}

enter image description here

I am using the 'Server Key' as the request auth token (which works as 401 is returned when an invalid key is used) and am using the 'Sender ID' in the manifest:

manifest.json

{
  "name": "Notification Demo",
  "gcm_sender_id": "<Sender ID/>"
}

Solution

  • This was my own fault; the sample registration ID's were in a different format to the generated ones I was seeing and did not contain semicolons which I was using to strip the registration ID from the subscription endpoint string. Splitting the endpoint by a forward slash and taking the last instance returned the correct Registration ID which works fine.