I want to try to send a message using google\'s FCM
messaging service and as the document says, the http request should be something like this:
This is your Server key which you can observe into console.developers.google.com or Firebase project console under Project Settings > Cloud Messaging. Note the key it's auto created by Google Services. You ought add IP Address inco G.Console to restrict usage.
Plus do remember about Content-Type: application/json, otherwise you will get Error=MissingRegistration.
i have also faced this error. The issue is with the server key. Don't use the api key from google-services.json file.
You should use the server api key from your firebase console project, at the cloud messaging tab project keys: https://console.firebase.google.com/project/firebase-probiz/settings/cloudmessaging
According to About Firebase Cloud Messaging Server documentation:
Authentication
To send a message, the app server issues a POST request. For example:
https://fcm.googleapis.com/fcm/send
A message request consists of two parts: the HTTP header and the HTTP body.
The HTTP header must contain the following headers:
Authorization: key=YOUR_SERVER_KEY
Make sure this is the server key, whose value is available in your Firebase project console under Project Settings > Cloud Messaging. Client keys or any other keys are rejected by FCM.
Content-Type:
application/json
for JSON;application/x-www-form-urlencoded;charset=UTF-8
for plain text.If Content-Type is omitted, the format is assumed to be plain text.
Hope it helps!
UPDATE (2016/11/16)
Perhaps you should consider using the FCM token instead of the server keys as the note inside the following screenshot
UPDATE (2016/12/08)
Firebase has upgraded the server keys to a new version and recommended that you upgrade to the newest version. Please see the screenshot below: