我正在使用firebase从网上发送推送通知,但我无法发送推送通知,而我只获取名称。如何使用firebase帮助我从网上发送推送通知。
这是我的PHP代码。
<?php
$DEFAULT_URL = 'https://pushnotificatioexample.firebaseio.com/.json';
$mytoken = $_POST['token'];
$mymessage = $_POST['message'];
echo $mytoken;
echo '<br>'.'</br>';
echo $mymessage;
$registrationIds = array($mytoken);
$message = array
(
'message' => 'My awesome message',
'title' => 'My awesome title',
'subtitle' => 'My awesome subtitle',
'tickerText' => 'My awesome Ticker text',
'vibrate' => 1,
'sound' => 1,
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array(
'registration_ids' => $registrationIds,
'data' => $message
);
$headers = array(
'Authorization:key = AIzaSyC9M4KFwqdy3vjcIBx9TNO8M7IysADbY_s',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $DEFAULT_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
echo $result;
?>
答案 0 :(得分:0)
看起来您正在从服务端脚本发送云消息。根据Firebase(FCM)官方文档,您不必使用Realtime数据库中的url。所以你必须改变你的网址
来自
$DEFAULT_URL = 'https://pushnotificatioexample.firebaseio.com/.json';
要
$DEFAULT_URL = 'https://fcm.googleapis.com/fcm/send';
有关详细信息,请参阅Firebase Cloud Messaging HTTP Protocol和here