Web push notification

Dear Experts,
I have a web site,
I use PHP 7.1.

All my pages are html5 and PHP
I want to send push notification to my web site users.
How can i do that?

Do you use push notification on your web sites?
Which service do you use?
Do you provide the source code?
Thank you
LVL 1
BRDigital MarketingAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

KimputerIT ManagerCommented:
It's not that simple, you have to read through a lot of things first, too many moving parts, can't just deliver a solution right on the spot: https://developers.google.com/web/fundamentals/push-notifications/

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BRDigital MarketingAuthor Commented:
Dear Kimputer, I read the link you sent, and

now I am here. I use PHP.
what should I do now in order to send the push notification?

cURL Command to Send Push
curl --header "Authorization: key=............" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\".......................\"]}"
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
As Kimputer suggested, this entire process is complex.

When you ask, "what should I do now in order to send the push notification?"

The answer is either you or someone you hire will start through the above link + implement every step, till you have push notifications working.

This can be a long process, depending on your how much infrastructure you already have setup, your level of coding expertise.

Just jump in and get started. If you get stuck on a specific step, then ask another question about a specific step.

Note: Be sure to go through each step + debug work done so far, to ensure every incremental step works.
Price Your IT Services for Profit

Managed service contracts are great - when they're making you money. Yes, you’re getting paid monthly, but is it actually profitable? Learn to calculate your hourly overhead burden so you can master your IT services pricing strategy.

David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Tip: If the above seems daunting...

You can always use an existing service like https://pushcrew.com/ to speed up + simplify your process.
BRDigital MarketingAuthor Commented:
Dear David,

I get this error message:

The request was missing an Authentication Key (FCM Token). Please, refer to section "Authentication" of the FCM documentation, at https://firebase.google.com/docs/cloud-messaging/server.

since I had this error message I add the code to Authentication Key which I get from under firebase Project credentials / Legacy server key.

My code is here:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://android.googleapis.com/gcm/send",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"registration_ids\":[\".......................\"]}",
  CURLOPT_HTTPSHEADER => array(
    "authorization: key=.......................",
	"Authentication Key= ......................",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Open in new window

I think I'm very close to send push notification... I need your help, thank you
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Tip: Use the curl command line command first. Once you get this working, port to using libcurl from PHP.

Cut & Paste the exact "cURL Error #:" message emitted.
BRDigital MarketingAuthor Commented:
the error message is: The request was missing an Authentication Key (FCM Token). Please, refer to section "Authentication" of the FCM documentation, at https://firebase.google.com/docs/cloud-messaging/server.
Error 401
BRDigital MarketingAuthor Commented:
thank you both
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
https://www.experts-exchange.com/questions/29136119/Web-push-notification.html#a42799942

Yes, you will need to use firebase now https://firebase.google.com/docs/cloud-messaging/

There are a couple of options, one is making this sending notifications to the browser.  The disadvantage here is it will require asking permission from the user.  This means part of your application code will be knowing if the user has authorized push in the browser.  The big advantage of this method is you may not need to use a third party service and you are simply sending the notification to the front end https://developers.google.com/web/fundamentals/push-notifications/ 

The overall better experience is going to be using a third party service and it looks like that is what EE does here (See the notifications you get on for the bell or messages at the top right of your screen). Some options are:
https://firebase.google.com/docs/cloud-messaging/server
https://www.twilio.com/notify
https://onesignal.com/webpush
https://azure.microsoft.com/en-us/services/notification-hubs/

Keep in mind there is a difference between pushing notifications to the browser vs keeping the push notification to your app.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.