使用php的Android Firebase推送通知
我为我的应用程序实现了FCM。我正在使用php发送数据库中已注册ID的通知。我想为每个用户发送一条特定的消息。现在,当我推送通知时,所有用户都会收到相同的消息 例如: 我在数据库中有两个注册用户: 1-用户呼叫John,其自定义消息为“欢迎” 2-用户打电话给Marco,他的自定义消息是“生日快乐” 现在,当我推送通知时,所有两个用户都会收到相同的消息“欢迎” 这是我的代码:使用php的Android Firebase推送通知,php,android,firebase,firebase-cloud-messaging,Php,Android,Firebase,Firebase Cloud Messaging,我为我的应用程序实现了FCM。我正在使用php发送数据库中已注册ID的通知。我想为每个用户发送一条特定的消息。现在,当我推送通知时,所有用户都会收到相同的消息 例如: 我在数据库中有两个注册用户: 1-用户呼叫John,其自定义消息为“欢迎” 2-用户打电话给Marco,他的自定义消息是“生日快乐” 现在,当我推送通知时,所有两个用户都会收到相同的消息“欢迎” 这是我的代码: <?php function send_notification ($tokens, $message) { $
<?php
function send_notification ($tokens, $message)
{
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids' => $tokens,
'data' => $message,
'priority' => "high",
);
$headers = array(
'Authorization:key = FCM Server 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);
return $result;
}
include("conn.php");
mysql_select_db($db, $conn);
$query_users = sprintf("Select token, message From users");
$users = mysql_query($query_users, $conn) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = mysql_num_rows($users);
if($totalRows_users > 0 ) {
do {
$tokens[] = $row_users["token"];
$message = $row_users["message"];
} while ($row_users = mysql_fetch_assoc($users));
}
$message_status = send_notification($tokens, $message);
echo $message_status;
?>
您可以一次发送带有多个令牌的fcm(如果我没有弄错的话,可以限制1000个令牌),但是,您不能同时发送多条消息 您发送的消息是来自查询中最后一条记录的消息
$message = $row_users["message"];
如果你想发送不同的信息,那么你需要打电话
send_notification($tokens, $message);
多次