0
我有一個應用程序使用普通的PhPMyAdmin數據庫作爲後端,應用程序與數據庫的所有交互都通過PHP腳本進行。如何發送基於數據庫字段的推送通知
現在我想基於數據庫發送推送通知給用戶。讓我們說我有一個單獨的數據庫(用戶名,要發送的消息)。
有任何服務或腳本可以讓我做我想做的事嗎?
或者是否有任何其他服務(例如Firebase)允許我做我想做的事?
我有一個應用程序使用普通的PhPMyAdmin數據庫作爲後端,應用程序與數據庫的所有交互都通過PHP腳本進行。如何發送基於數據庫字段的推送通知
現在我想基於數據庫發送推送通知給用戶。讓我們說我有一個單獨的數據庫(用戶名,要發送的消息)。
有任何服務或腳本可以讓我做我想做的事嗎?
或者是否有任何其他服務(例如Firebase)允許我做我想做的事?
在我們大多數人使用GCM進行推送通知之前,它已被棄用。我使用FCM(firebase雲消息傳遞),它的工作令人驚歎。你永遠不會去尋找GCM教程或指導了。這link會給你一切你需要設置推送通知。除此之外,如果您決定爲ios FCM支持創建推送通知。如果您想創建聊天應用程序,請改用XMPP服務器。
有一些php代碼從未在FCM文檔中提及。在android中實現所有代碼之後,您需要執行以下代碼以將請求發佈到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的工作方式有點混亂,但最終你會習慣它。