我有些困惑,不知道如何使用PushSharp来构建GCM推送通知的消息体结构。文档以及GitHub仓库中的测试文件显示的消息结构似乎是这样的:
broker.QueueNotification (new GcmNotification {
RegistrationIds = new List<string> {
regId
},
Data = JObject.Parse ("{ \"somekey\" : \"somevalue\" }")
});
我一直在使用Postman进行测试,在其中我向https://gcm-http.googleapis.com/gcm/send发送以下JSON格式的消息。
{
"to": "000-0000-mytoken-foo",
"notification" : {
"title" : "Push Test Notification",
"body" : "GCM Test Push",
"icon" : "icon",
"color" : "#FF4081"
}
}
框架是否已经处理了消息中的'to'
和'notification'
部分? 根据我看到的示例,似乎我只需要输入通知对象的键值对,但是我找不到文档中说明这一点或实际消息的示例。 我正在使用 PushSharp 的最新版本(4.x)。
Data = JObject.Parse
更改为Notification = JObject.Parse
。稍后我会发布一个更详细的带有示例的答案。 - Stavros_SData
属性,因为Android应用程序使用传递到那里的数据处理通知。但是,我想这完全取决于您的应用程序如何处理通知。to
也可以像notification
一样在GcmNotification
的单独属性中分配。 - LukasOnNotificationFailed
,在其中检查异常参数,如果是DeviceSubscriptionExpiredException
,则可以获取OldSubscriptionId
和NewSubscriptionId
。然后,您可以使用新 ID 替换数据库中的旧 ID。这里的订阅 ID 是令牌。 - Lukas