c# - 通过 fcm c# 向 android 应用程序发送通知时不会出现通知
问题描述
我正在尝试通过 c# 代码将 GCM 推送通知(云消息传递)发送到我的 android 应用程序。当我运行此代码时,它运行成功。我没有收到任何错误,但应用程序没有收到通知。我想向所有设备发送通知,而不是向任何特定设备发送通知。
public void SendMessage()
{
WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
tRequest.Method = "post";
//serverKey - Key from Firebase cloud messaging server
tRequest.Headers.Add(string.Format("Authorization: key={0}", "My Server Key"));
//Sender Id - From firebase project setting
tRequest.Headers.Add(string.Format("Sender: id={0}", "SenderId"));
tRequest.ContentType = "application/json";
var payload = new
{
to = "android", //i want to send to all android devices.
priority = "high",
content_available = true,
notification = new
{
body = "Test",
title = "Test",
badge = 1
},
data = new
{
key1 = "value1",
key2 = "value2"
}
};
string postbody = JsonConvert.SerializeObject(payload).ToString();
byte[] byteArray = Encoding.UTF8.GetBytes(postbody);
tRequest.ContentLength = byteArray.Length;
using (Stream dataStream = tRequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
using (WebResponse tResponse = tRequest.GetResponse())
{
using (Stream dataStreamResponse = tResponse.GetResponseStream())
{
if (dataStreamResponse != null) using (StreamReader tReader = new StreamReader(dataStreamResponse))
{
string sResponseFromServer = tReader.ReadToEnd(); //here i am getting message id but no notification.
}
}
}
}
}
解决方案
推荐阅读
- c# - 使用 Windows Form 作为 Arduino Uno 的串行通信器
- python - 如何覆盖第三方库使用的方法
- angular - 模块解析失败:保留关键字“private”
- wordpress - 通过自定义插件创建分类时如何创建分类术语?
- php - PHP 读取本地 .sq3 文件以在网页上使用
- oracle - 如何检查给定列值的表中是否仅存在一个组合
- c# - 未找到 Web API 的 ApplicationSignInManager 和 ApplicationUserManager
- sony - Sony Camera Remote API - ContentFile URI 显式性
- javascript - 选择它应该显示十字符号的每个项目,然后单击该符号应该删除该项目
- reactjs - React - 输入日期字段未更新状态值