Php 如何基于DB字段发送推送通知

Php 如何基于DB字段发送推送通知,php,android,push-notification,Php,Android,Push Notification,我有一个应用程序,它使用一个普通的PhPMyAdmin数据库作为后端,应用程序与数据库的所有交互都是通过一个PHP脚本进行的 现在我想基于数据库向用户发送推送通知。假设我有一个单独的数据库(用户名,要发送的消息) 是否有任何服务或脚本允许我做我想做的事情 或者是否有任何其他服务(如Firebase)允许我做我想做的事情?在我们大多数人使用GCM进行推送通知之前,但它已被弃用。我正在使用FCM(firebase cloud messaging),它的工作非常出色。你再也不用费心去找GCM教程或指南

我有一个应用程序,它使用一个普通的PhPMyAdmin数据库作为后端,应用程序与数据库的所有交互都是通过一个PHP脚本进行的

现在我想基于数据库向用户发送推送通知。假设我有一个单独的数据库(用户名,要发送的消息)

是否有任何服务或脚本允许我做我想做的事情


或者是否有任何其他服务(如Firebase)允许我做我想做的事情?

在我们大多数人使用GCM进行推送通知之前,但它已被弃用。我正在使用FCM(firebase cloud messaging),它的工作非常出色。你再也不用费心去找GCM教程或指南了。这将为您提供设置推送通知所需的一切。此外,如果您决定也为ios FCM支持创建推送通知。如果您想创建聊天应用程序,请改用XMPP服务器

有一些php代码在FCM文档中从未提及。在android中实现所有代码后,以下是需要实现的php代码,用于将请求发布到FCM服务器,FCM将处理该请求,并根据您提供的注册令牌推送到所有设备

$url = 'https://fcm.googleapis.com/fcm/send';
//$field is the parameter you will be sending to FCM server in order to let FCM know which device, and the message you need to send to. You will get a better understading after study the doc.
$fields = array(
             'priority' => "high",
             'registration_ids' => $tokens,
             'data' => $data
            );
        $headers = array(
            'Authorization:key = 'your authorization key',
            '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_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);
你会发现FCM的工作原理有点混乱,但最终你会习惯的