在我的应用中,我插入推送通知管理。现在我只测试Android区域。
我使用FCM控制台发送了第一个测试通知。使用此工具,如果我发送多个通知,我会看到手机通知区域中的所有内容(例如:如果我发送3个带有文本的通知" 1"," 2&#34 ;和" 3",我在通知区域看到了所有这些内容。)
然后,我尝试编写一些C#代码从我的服务器发送这些通知。我现在可以从我的代码发送通知,但是如果我进行与上面相同的测试,我只会看到最后一个通知(" 3")而不是所有通知。
我确定要设置一些参数,但我无法确定哪一个参数。
你知道我在哪里修理一下吗?在我的C#代码下面:
public string SendMessage()
{
string serverKey = "myserverkey";
try
{
var result = "-1";
var webAddr = "https://fcm.googleapis.com/fcm/send";
var regID = "myAndroidPhoneID";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Headers.Add("Authorization:key=" + serverKey);
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"to\": \"" + regID + "\",\"data\": {\"message\": \"1This is a Firebase Cloud Messaging Topic Message!\",},\"priority\":10}";
streamWriter.Write(json);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
return result;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return "err";
}
}
我还尝试在json中添加参数 collapse_key ,每次通知都会更改其值,但我总是只看到最后一个。
答案 0 :(得分:0)
解决了使用这个json而不是发布的:
string json = "{\"to\": \"" + regID + "\",\"notification\": {\"title\": \"New deal\",\"body\": \"20% deal!\"},\"priority\":10}";