PushSharp“在NotificationSent上获取json”问题

时间:2016-01-25 00:23:30

标签: c# cordova push-notification console-application pushsharp

我使用了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);

1 个答案:

答案 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 ();
  }
}