-
-
Save MohammadaliMirhamed/7384b741a5c979eb13633dc6ea1269ce to your computer and use it in GitHub Desktop.
<?php | |
#API access key from Google API's Console | |
define( 'API_ACCESS_KEY', 'YOUR-SERVER-API-ACCESS-KEY-GOES-HERE' ); | |
$registrationIds = $_GET['id']; | |
#prep the bundle | |
$msg = array | |
( | |
'body' => 'Body Of Notification', | |
'title' => 'Title Of Notification', | |
'icon' => 'myicon',/*Default Icon*/ | |
'sound' => 'mySound'/*Default sound*/ | |
); | |
$fields = array | |
( | |
'to' => $registrationIds, | |
'notification' => $msg | |
); | |
$headers = array | |
( | |
'Authorization: key=' . API_ACCESS_KEY, | |
'Content-Type: application/json' | |
); | |
#Send Reponse To FireBase Server | |
$ch = curl_init(); | |
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' ); | |
curl_setopt( $ch,CURLOPT_POST, true ); | |
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers ); | |
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true ); | |
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false ); | |
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) ); | |
$result = curl_exec($ch ); | |
curl_close( $ch ); | |
#Echo Result Of FireBase Server | |
echo $result; |
If you are talking about Android, then I think we have the same issue. Go to Settings -> Developer Options and look for "Show notification channel warnings". I think this option is only available on Android 8. Enable it and test it again. If you see something like "failed to post notification on channel 'null', then you do have the same issue as what I have.
Android 8 have this new feature for notification which can be assigned to a channel ID.
I Google this for the entire day and tried several recommendation, but unfortunately I am still trying to find the solution to this.
New api uses this format:
https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send
You have to include project name and version of api.
Also there are changes to auth and payload. More info here: https://firebase.google.com/docs/cloud-messaging/migrate-v1
{"multicast_id":8910091881405662450,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
Please help
Im so glad guys this code is helping you . Thank you so much
@ark2018 check your api code
how to redirect www.google.com in notification click.
can you explain this code .
@deepak-gehlot
Hi friend. Which part do you want to i explaine for you?
THANKS! works well! But:
Would be nice if somebody could explain what changes are needed for the new v1 mentioned by @arshad115
Hi friend,
Your code is working successfully, I got a registrationId, But how to store this value in another variable... pls help me... what can i do?
I have used the same script for GCM, what should I do to get new keys for my android app for fcm with this php script
Also, my app has added gcm.senderid, do I need to change this as well?
dear @pasupathinathan hi.
Ask you question more clear.
@PanktiPancholi88 hi dear. I thank if you want get the key. You shall go to google fcm key part
please help me to resolve this problem for fcm push notification using php
{
"multicast_id": 8064599321131175636,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
Thank you.
After trying all sorts of complicated plugins that required complicated installations and giving me so much errors and without success, I am amazed that this simple script works. Wow! Thank you.
Hello team,
Any examples for cordova/phonegap? Been looking around for an example on how to setup the index.html to receive notifications but no luck
Hello team,
Any examples for cordova/phonegap? Been looking around for an example on how to setup the index.html to receive notifications but no luck
hi dear. yes, there is a way. make a route with the top script and in your web application then send the request by your Cordova/PhoneGap?
Thank you.
Your welcome
please help me to resolve this problem for fcm push notification using php
{
"multicast_id": 8064599321131175636,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
its simple brother. you just need to define your application and then get the token and put it there. it will work well.
I created a fork available here
What's the difference from the original script ?
-You can send message to a specific device by informing a device ID to the parameter 'id'
-or send a broadcast to a specific topic to the parameter 'topic'.
-it is necessary to set a specific topic previously on your Firebase Console and
also the device must subscribe to it.
-You will also receive a error message if you do not pass any value to those two needed parameters.
please help me to resolve this problem for fcm push notification using php
{
"multicast_id": 8064599321131175636,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
Create project on firebase console, It returns me Server Accesss key and Legacy key under Project Overview-> project settings -> Cloud Message.
Copy the legacy server key and put it on your script API_ACCESS_KEY;
Will work.
please help me to resolve this problem for fcm push notification using php
{
"multicast_id": 8064599321131175636,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}Create project on firebase console, It returns me Server Accesss key and Legacy key under Project Overview-> project settings -> Cloud Message.
Copy the legacy server key and put it on your script API_ACCESS_KEY;
Will work.
Your Well Come Dear
Thanks Pal
it worked like magic. So for the benefit of those struggling with this error
"{"multicast_id":5298140393388678667,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}"
I faced this for nearly a week only to discover that i was parsing a wrong device token. the reason being i was getting the token on device ready event through an alert() method. since i couldn`t copy it directly i had to screenshot the result then use some image to text app to get the token as string which is where i got it all wrong. To fix this i had to use use the whatsapp api to send the token to my account as plain text.
then it worked.
Thanks Pal
it worked like magic. So for the benefit of those struggling with this error
"{"multicast_id":5298140393388678667,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}"I faced this for nearly a week only to discover that i was parsing a wrong device token. the reason being i was getting the token on device ready event through an alert() method. since i couldn`t copy it directly i had to screenshot the result then use some image to text app to get the token as string which is where i got it all wrong. To fix this i had to use use the whatsapp api to send the token to my account as plain text.
then it worked.
hi dude .
glad to heard about that .
your welcome
very good
very good
@Ulugbek-Muhammadjonov
your welcome
It's awesome
It's awesome
Thanks
i m getting this message :-
{"multicast_id":7145009148233962961,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1531121690342192%0000000000000000"}]}
but i m not getting notification on server neither any other message please help me.