Web push notification

BR
BR used Ask the Experts™
on
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
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
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/
BRDigital Marketing

Author

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 FavorFractional CTO
Distinguished Expert 2018

Commented:
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.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

David FavorFractional CTO
Distinguished Expert 2018

Commented:
Tip: If the above seems daunting...

You can always use an existing service like https://pushcrew.com/ to speed up + simplify your process.
BRDigital Marketing

Author

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 FavorFractional CTO
Distinguished Expert 2018

Commented:
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 Marketing

Author

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 Marketing

Author

Commented:
thank you both
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Commented:
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.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial