我正在创建一个出租车应用程序,其中有一个驱动程序和一个用户应用程序。当用户发布乘车请求时,必须通知所有驾驶员该请求可用(推送通知)。我的本机代码如何知道何时发送通知?m
我不希望应用程序消耗大量电池和数据,因此我无法每分钟检查我的MySQL数据库。我使用 Firebase 寻找解决方案,但发现它们为Web到android的通知提供服务。我尚未编写任何与此相关的代码。
请提出实现此目标的方法。谷歌搜索没有帮助。如果可能,请附加代码。
预先感谢
答案 0 :(得分:1)
因此firebase
并不难使用,这是您的PHP Api
的代码
// function makes curl request to firebase servers
private function sendPushNotification($fields) {
require_once __DIR__ . '/config.php';
// Set POST variables
$url = 'https://fcm.googleapis.com/fcm/send';
$headers = array(
'Authorization: key=' . FIREBASE_API_KEY,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Disabling SSL Certificate support temporarly
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// Execute post
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
// Close connection
curl_close($ch);
return $result;
}
现在 config.php 具有的是
<?php
// Firebase API Key
define('FIREBASE_API_KEY', '///lGrYwgBC8iz5reyx4qPUB7ByXX8MwC7Vcs8u...');
?>
您可以在{strong> Project Settings-> Cloud Messaging-> Server Key
下从Firebase Console
获取此密钥。
现在是一个简单的发送推送通知的功能
public function send($to, $message) {
$fields = array(
'to' => $to,
'data' => $message,
);
return $this->sendPushNotification($fields);
}
$to
中将出现您要发送通知的人的通知ID。这是link。
希望这对您有帮助