Firebase 发送通知在 laravel 中不起作用

问题描述 投票:0回答:1

我使用的是 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"
    ]
  ]
]```
php laravel firebase-authentication push-notification firebase-cloud-messaging
1个回答
0
投票

我有同样的问题,以前我使用服务器密钥,但现在不同了,我找不到如何更改它的指南,谷歌手册有点复杂,不像上面的curl代码那么简单

© www.soinside.com 2019 - 2024. All rights reserved.