使用 PushSharp 时,GCM 通知正文始终显示为 <missing message content>

Posted

技术标签:

【中文标题】使用 PushSharp 时,GCM 通知正文始终显示为 <missing message content>【英文标题】:Body of GCM notification always displays as <missing message content> when using PushSharp 【发布时间】:2016-05-23 05:08:33 【问题描述】:

我使用的是 PushSharp 4.0.1 版,目前当我发送通知时,标题显示正常,但消息正文始终显示为“”。如果我不使用 PushSharp 直接从 Postman 向 GCM 发送测试消息,则内容显示正常。下面是我构建消息正文的方式。任何想法都会很棒!

   gcmBroker.QueueNotification(new GcmNotification
   
       RegistrationIds = new List<string>
       
         token
       ,
       Data = JObject.Parse(" \"title\" : \""+ message.PatientFirstName +" "+ message.PatientLastName + ". " + message.GlucoseMeasurement.TrendArrow +"\"," +
                            " \"body\" : \""+ message.GlucoseMeasurement.ValueInMgPerDl + "at" + message.GlucoseMeasurement.Timestamp + "\"," +
                            " \"icon\" : \"icon\"," +
                            " \"color\" : \"#FF4081\"")
    );

【问题讨论】:

【参考方案1】:

实际上是在深入研究 GCM 文档后才弄明白的。自从我使用Dataparam 以来,我试图在不知不觉中发送数据通知。代码应该看起来像这样......

            gcmBroker.QueueNotification(new GcmNotification
            
                RegistrationIds = new List<string>
                
                    token
                ,
                Notification = JObject.Parse(" \"title\" : \"" + message.PatientFirstName + " " + message.PatientLastName + ". " + message.GlucoseMeasurement.TrendArrow + "\"," +
                                     " \"body\" : \"" + message.GlucoseMeasurement.ValueInMgPerDl + " at " + message.GlucoseMeasurement.Timestamp + "\"," +
                                     " \"icon\" : \"icon\"," +
                                     " \"color\" : \"#FF4081\"")
            );

【讨论】:

以上是关于使用 PushSharp 时,GCM 通知正文始终显示为 <missing message content>的主要内容,如果未能解决你的问题,请参考以下文章

在哪个事件中,我可以使用 PushSharp 获取 GCM 响应以向 Android 设备发送通知?

PushSharp 是不是允许向 GCM for iOS 发送通知?

如果设备订阅过期,如何停止发送通知 - GCM PushSharp

GCM 多次推送同一消息 (PushSharp)

推送通知未到达

google gcm 没有使用 PushSharp 作为我的服务器发送消息