推送:显示通知区域中的所有通知

时间:2017-07-20 09:43:30

标签: c# android firebase notifications push

在我的应用中,我插入推送通知管理。现在我只测试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 ,每次通知都会更改其值,但我总是只看到最后一个。

1 个答案:

答案 0 :(得分:0)

解决了使用这个json而不是发布的:

string json = "{\"to\": \"" + regID + "\",\"notification\": {\"title\": \"New deal\",\"body\": \"20% deal!\"},\"priority\":10}";

总结了这里的所有步骤:https://programmingistheway.wordpress.com/2017/07/19/devextremephonegap-how-to-manage-push-notifications-with-fcm/