我正在开发基于Firebase数据库和存储的聊天应用程序.一切都运行正常,但现在我需要实施FCM,以便在应用程序处于后台或前台时接收应用程序通知.我找不到在
PHP中实现的方法来监听firebase数据库中的任何更改,如果有任何更改,则将推送通知发送到应用程序.
有很多代码可以从PHP发送通知,但没有一个基于Firebase数据库,甚至官方文档都有我的共享主机不支持的Node.js指南.
我已经在我的应用程序端实现了FCM代码,该代码已经过Firebase控制台测试.
这是我的Firebase数据库结构
发送推送通知只是向FCM服务器发送发布请求的问题.
这是工作示例:
$data = json_encode($json_data); //FCM API end-point $url = 'https://fcm.googleapis.com/fcm/send'; //api_key in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key $server_key = 'YOUR_KEY'; //header with content_type api key $headers = array( 'Content-Type:application/json','Authorization:key='.$server_key ); //CURL request to route notification to FCM connection server (provided by Google) $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,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $result = curl_exec($ch); if ($result === FALSE) { die('Oops! FCM Send Error: ' . curl_error($ch)); } curl_close($ch);
JSON工资负载示例:
[ "to" => 'DEVICE_TOKEN',"notification" => [ "body" => "SOMETHING","title" => "SOMETHING","icon" => "ic_launcher" ],"data" => [ "ANYTHING EXTRA HERE" ] ]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。