使用Firebase通过C#将推送发送到Android并获得响应

时间:2018-09-03 18:11:09

标签: c# android firebase firebase-cloud-messaging

我看到了其他有关使用Firebase从c#向Android发送通知的问题,它可以正常工作。 现在,我想接收它并从android答复,直到它连续执行其他过程代码为止。

public void SendNotification( SEG_USER  user)
    {
        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}", "mykey"));
        //Sender Id - From firebase project setting  
        tRequest.Headers.Add(string.Format("Sender: id={0}", "mySendId"));
        tRequest.ContentType = "application/json";
        var payload = new
        {
            to = "myTokenDevice",
            priority = "high",
            content_available = true,
            notification = new
            {
                body = "Acceso Usuario ["+user.UsuarioID+"] "+ user.UsuarioNombre,
                title = "Acceso al Sistema",
                badge = 2,
                icon = "https://png.icons8.com/color/50/000000/key.png"
            },
            data = new
            {
                codigo = user.UsuarioID,
                nombreUsuario = user.UsuarioNombre
            }
        };

        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();
                            //result.Response = sResponseFromServer;
                        }
                }
            }
        }
    }
  1. 发送通知到android(✓)
  2. 使用android应用中的方法进行管理和处理,并且具有结果或参数(✓)
  3. 将结果(2.)发送到这样的(var resp = SendNotification(user);)toc#(✗)

但是我想接收并回答

类似的东西

var resp = SendNotification(user);

1 个答案:

答案 0 :(得分:0)

您可以将响应保存到数据库 并在应用程序中可以从数据库获得响应。 该信息将在数据库中。