因此,让我们直接讨论一下。我制作了一个本地应用程序,在其中我将laravel REST API用作后端,将reactjs用作前端。除推送通知外,我已完成所有功能。
我希望你们能回答我的问题,如果我的问题很傻,请原谅我。我是一个初学者,希望您能理解。预先感谢。
答案 0 :(得分:0)
您可以使用软件包将FCM
直接用于任何laravel
项目。
laravel中有软件包可简化此操作。
看看吧。
答案 1 :(得分:0)
您必须实现代码以在前端(ReactJs或React本机)中接收通知。该通知将从FCM服务器推送,请查看文档以了解How it works?
或者,您可以直接阅读这篇中等文章:Implementing FCM in React Native
此外,如果这是一个网络应用程序,请关注此文章:FCM Integration in ReactJS
答案 2 :(得分:0)
这似乎是我的最后一项任务。因此,您必须使用Laravel或后端引擎发送Firebase云消息(fcm),并使用reactjs对其进行检索。
对于基于php的后端(Laravel / lumen /任何),您可以使用以下命令: https://firebase-php.readthedocs.io/en/latest/cloud-messaging.html
或者,如果您需要更简单的方法,只需使用curl()函数。这是我对fcm的简单功能:
public function sendCloudMessageTopic($title, $message, $topics, $detail = null)
{
try {
$serverApiKey = "YOUR APP FIREBASE KEY";
$header = [
"Authorization: Key=" . $serverApiKey,
"Content-Type: Application/json",
];
$notification = [
"title" => $title,
"body" => $message,
];
$data = [
"notification" => $notification,
"detail" => $detail,
];
$payload = ["notification" => $notification, "data" => $data, "to" => $topics];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://fcm.googleapis.com/fcm/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 => json_encode($payload),
CURLOPT_HTTPHEADER => $header,
));
$response = curl_exec($curl);
$failed = curl_error($curl);
curl_close($curl);
if ($failed == TRUE)
throw new \Exception("CURL Action Failed to send firebase cloud message");
$result = json_decode($response);
if (!isset($result->message_id))
throw new \Exception("Failed to send firebase cloud message");
return [
'status' => 1,
'message' => "successfully sending firebase cloud message"
];
} catch
(\Exception $exception) {
return [
'status' => 0,
'message' => "Failed to send firebase cloud message"
];
}
}
我从未尝试过将其用于检索它,但是您可以看一下这篇文章:
谢谢