我使用了PushSharp DDL, 我试图在我的数据库中保存通知发送的状态。 在NotficationSent事件中,我将使用status = true更新我的数据库,其中NotificationID = XXXX NotficationSent事件包括我在参数(通知)中推送的JSON
我尝试在SentNotification事件中获取我的JSON以了解我的NotificationID我写了这段代码,但它没有用。
static void NotificationSent(object sender, INotification notification)
{
var push = (PushSharp.Android.GcmNotification)notification;
json =Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic(push.JsonData);
var NotificationID=json.NotificationID
}
代码未完成运行它在此行停止且没有错误且函数退出,我无法在变量中获取NotificationID
json =Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic(push.JsonData);
答案 0 :(得分:0)
INotification
只是一个接口,JsonData
属性不是该接口的一部分。传入的参数实例实际上可能不是GcmNotification
类型,因此您应该检查以确保它是,然后是它的情况:
static void NotificationSent(object sender, INotification notification)
{
var gcmNotification = notification as GcmNotification;
if (gcmNotification != null) {
var json = JObject.Parse (gcmNotification.JsonData);
var notificationId = json["NotificationID"].ToString ();
}
}