Firebase消息传递,仅发送一次通知

问题描述 投票:0回答:1

我如何仅通过Firebase消息发送通知?当特定条件为真时,我正在发送通知。例如,如果x等于y。问题在于,此条件在x时间内可能为真。这将导致应用程序在条件仍然为真时继续发送通知。因此,我想知道一种方法,如何检查消息是否唯一,例如,仅发送一次通知。这是我的代码(带有示例条件):

if(x == (2*y))
{
    SendNotification("", x.ToString(), y.ToString());
}

string SendNotification(string DeviceToken, string title, string msg)
{
    var result = "-1";
    var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
    httpWebRequest.ContentType = "application/json";
    httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", serverKey));
    httpWebRequest.Headers.Add(string.Format("Sender: id={0}", senderId));
    httpWebRequest.Method = "POST";

    var payload = new
    {
        to = "/topics/",
        priority = "high",
        content_available = true,
        notification = new
        {
            body = msg,
            title = title
        },
    };
    var serializer = new JavaScriptSerializer();
    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json = serializer.Serialize(payload);
        streamWriter.Write(json);
        streamWriter.Flush();
    }
    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        result = streamReader.ReadToEnd();
    }
    return result;
}

编辑:

我忘了提到,可能紧接着有2个唯一的通知,它们的x和y值不同。因此,创建布尔值来检查发送通知的操作将不起作用。

c# firebase xamarin
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.