有一种方法可以发送在Firebase云消息传递创建消息页面中出现的所有完整选项。

8 浏览
0 Comments

有一种方法可以发送在Firebase云消息传递创建消息页面中出现的所有完整选项。

我在asp.net MVC 5中有一个项目,我需要将所有选项添加到我的客户端应用程序中,即向Android和iOS应用程序发送推送通知。为了这个场景,我创建了一个类似于Firebase云消息传递的页面,代码如下:

private static string SendPushNotification()
{
    string response;
    try
    {
        string serverKey = "##########";
        string senderId = "#############";
        string deviceId = "//topics/all";
        WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
        tRequest.Method = "post";
        tRequest.ContentType = "application/json";
        var data = new
        {
            to = deviceId,
            notification = new
            {
                body = "Greetings",
                title = "Augsburg",
                sound = "Enabled"
            }
        };
        var serializer = new JavaScriptSerializer();
        var json = serializer.Serialize(data);
        Byte[] byteArray = Encoding.UTF8.GetBytes(json);
        tRequest.Headers.Add(string.Format("Authorization: key={0}", serverKey));
        tRequest.Headers.Add(string.Format("Sender: id={0}", senderId));
        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())
                {
                    using (StreamReader tReader = new StreamReader(dataStreamResponse))
                    {
                        String sResponseFromServer = tReader.ReadToEnd();
                        response = sResponseFromServer;
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        response = ex.Message;
    }
    return response;
}

所以我的问题是:

1. 我是否可以将所有这些选项发送到我的HTTP请求中?

2. 是否可以稍后发送?我也需要配置这个选项。

3. 目标用户选项如何设置?

我是否可以通过提供参数来使用HTTP请求来完成这些操作?

0
0 Comments

问题的原因是在Firebase云消息传递(Firebase Cloud Messaging)的创建消息页面中,并不是所有选项都能发送。下面是原因和解决方法的整理:

1. 并非所有选项都能发送,对于大多数文本字段,可以使用以下方式(参考HTTP参考文档):

- 消息正文:body

- 消息标签:无法发送,这只是Firebase控制台使用的标签。

- 传递日期:参考解决方法2。

- 用户分段:参考解决方法3。

- 消息标题:title

- Android通知渠道名称:android_channel_id

2. 预定通知目前不适用于REST API

3. 用户分段目前还不可用

希望以后在提问时避免在一个帖子中提出多个问题。谢谢!

0