Skip to content

Instantly share code, notes, and snippets.

@MohammadaliMirhamed
Last active June 24, 2023 07:38
Show Gist options
  • Star 82 You must be signed in to star a gist
  • Fork 36 You must be signed in to fork a gist
  • Save MohammadaliMirhamed/7384b741a5c979eb13633dc6ea1269ce to your computer and use it in GitHub Desktop.
Save MohammadaliMirhamed/7384b741a5c979eb13633dc6ea1269ce to your computer and use it in GitHub Desktop.
firebase notification sample in php . if you like this code follow me and star it . i will follow you and use your codes and share them . Simple PHP FireBase (FCM) script showing how to send an Android push notification. Be sure to replace the SERVER_API_ACCESS_KEY with a proper one from the Google API's Console page. To use the script, just call
<?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;
@mountainclimbing
Copy link

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

@MohammadaliMirhamed
Copy link
Author

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?

@MohammadaliMirhamed
Copy link
Author

Thank you.

Your welcome

@MohammadaliMirhamed
Copy link
Author

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.

@rhafiko
Copy link

rhafiko commented Sep 11, 2019

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.

@rhafiko
Copy link

rhafiko commented Sep 11, 2019

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.

@MohammadaliMirhamed
Copy link
Author

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

@blessingchirume
Copy link

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.

@MohammadaliMirhamed
Copy link
Author

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

@Ulugbek-Muhammadjonov
Copy link

very good

@MohammadaliMirhamed
Copy link
Author

very good
@Ulugbek-Muhammadjonov
your welcome

@meytirm
Copy link

meytirm commented Jan 13, 2023

It's awesome

@MohammadaliMirhamed
Copy link
Author

It's awesome
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment