我使用的是 Laravel 版本 7.0.1。 意外地,如果我的代码和 Firebase 设置没有任何更改,我的 Laravel 推送通知服务将无法正常工作。
这里我提供了发送推送通知的功能,也提到了错误。
如果有人能帮助我那就太好了。
这是我的 Laravel 版本 7.0.1 的代码
function sendNotification($data)
{
$url = 'https://fcm.googleapis.com/fcm/send';
// $serverKey = getenv('FIREBSE_SERVERKEY');
$serverKey = ('AAAAF_mes-Q:APA91bFI4dlW7ww9YCVSHKmjJY-X-C2FKwOkUfMwp7d9rHkavsQnxJAxJtQtoqwWHJ8yHkgsiCKa6n5DgvbdaVJxzJ9Bp3uoKsVSyD4BXyHhsnoTeetF8CK5dv0G_B49RioyCKXkcMPB');
$encodedData = json_encode($data);
$headers = [
'Authorization:key=' . $serverKey,
'Content-Type: application/json',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $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_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
// Disabling SSL Certificate support temporarly
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $encodedData);
// Execute post
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
// Close connection
curl_close($ch);
// Decode the result
$response = json_decode($result, true);
// Check for errors in the FCM response
if (isset($response['error'])) {
die('FCM error: ' . $response['error']);
}
// Optionally, print the entire response for debugging
dd($response);
return true;
}
**我收到此错误。 **
Getting this Error While Sending The notification
array:5 [ // app/Http/Controllers/Api/BaseController.php:254
"multicast_id" => 830795794971026898
"success" => 0
"failure" => 1
"canonical_ids" => 0
"results" => array:1 [
0 => array:1 [
"error" => "DeprecatedApi"
]
]
]```
我有同样的问题,以前我使用服务器密钥,但现在不同了,我找不到如何更改它的指南,谷歌手册有点复杂,不像上面的curl代码那么简单