这是我编写的获取并尝试发送推送通知的内容:
<?php
//send FCM notification
$fcmToken = "My device token";
$fcmKey = "My Firebase Cloud Messaging Server Key";
//I tried curl like this but I barely understand it and it wouldn't work
//curl -X POST --header "Authorization: key=$fcmKey" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"$fcmToken\",\"notification\":{\"body\":\"Yellow\"},\"priority\":10}"
echo "starting curl <hr>";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send");
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: key=$fcmKey","Content-Type: application/json","to: $fcmToken","notification:{\"body\":\"Yellow\"}","priority: 10" )); //setting custom header
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
echo "curlResult: " . $result;
curl_close($curl);
echo "<hr>curl end";
?>
我得到的结果是这样的,为什么
starting curl <hr>curlResult: <HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://firebase.google.com/docs/cloud-messaging/http-server-ref">here</A>.
</BODY>
</HTML>
<hr>curl end
提前感谢您的帮助!
我不确定到底是什么造成了这种差异,但我最终还是按照这篇文章的答案去做了:Firebase云消息,接收通知的问题
为了保存,它是这么说的:
<?php
function send_notification ($tokens)
{
$url = 'https://fcm.googleapis.com/fcm/send';
$priority="high";
$notification= array('title' => 'Some title','body' => 'hi' );
$fields = array(
'registration_ids' => $tokens,
'notification' => $notification
);
$headers = array(
'Authorization:key=xxxxxxxxxxxxx',
'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));
// echo json_encode($fields);
$result = curl_exec($ch);
echo curl_error($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
return $result;
}
$tokens = array('RECEIVER-TOKEN-1'
,'RECEIVER_TOKEN-2');
$message_status = send_notification($tokens);
echo $message_status;
我只有配置和Spring Security性 登录实现UserDetailsService loginUser用于会话信息 谢谢你阅读。
是否有任何API(Python、JS、...)可用于生成和检索Firebase云消息传递服务器令牌? 最终目标应与单击“项目设置”中的“添加服务器密钥”按钮相同。
在上面的图片中显示了服务器密钥和旧服务器密钥,其中一个我必须使用。有人知道这两者有什么区别吗? 谢啦
我已经从Firebase中导入的Google项目中删除了名为Server key(由Google Service自动创建)的api密钥。 现在,项目设置中的字段服务器密钥-云消息传递为空。我也不能发送通知,我从服务器上得到一个未经授权的401错误。 我能做什么?
我在Android和iOS应用程序中使用FCM。客户端代码工作正常,因为我可以从Firebase控制台向两个平台发送通知,而不会出现任何问题。通过我的C#代码,我可以成功地将通知发送到android设备,但除非直接来自Firebase通知控制台,否则通知永远不会出现在iPhone上。我不知道是什么给你的。 C#服务器端代码 我的服务器端代码无法在iPhone上运行通知,但Firebase对此做出了
问题内容: 我在C#(.ashx文件)中编写JSON服务。在成功请求服务后,我返回了一些JSON数据。如果请求失败,要么是由于引发异常(例如,数据库超时),要么是因为请求在某种程度上是错误的(例如,将数据库中不存在的ID用作参数),服务应该如何响应?哪些HTTP状态代码是明智的,是否应该返回任何数据? 我预计该服务将主要使用jQuery.form插件从jQuery调用,jQuery或此插件是否具有