2015-12-18 2 views
0

Я хочу, чтобы прочитать толчок IOS «уведомление» сообщениеRead Parse.com толчок полезной нагрузки в Xamarin.iOS

parse.com имеет этот пример на своем сайте

ParsePush.ParsePushNotificationReceived += (sender, args) => { 
    var payload = args.Payload; 
    object objectId; 
    if (payload.TryGetValue("objectId", out objectId)) { 
    DisplayRichMessageWithObjectId(objectId as string); 
    } 
}; 

Но как я прочитал сообщение предупреждения из полезной нагрузки?

Решение

string message = ""; 

try 
{ 
    var payload = args.Payload; 
     object aps; 
     if (payload.TryGetValue("aps", out aps)) 
     { 
      string payloadStr = ""; 
       try 
       { 
        payloadStr = aps.ToString(); 
       } 
       catch (Exception e) 
       { 
       } 
       try 
       { 
        var match = Regex.Match(payloadStr, @"alert = (.*);\n"); 
         if (match.Success) 
         { 
          string alertText = match.Groups[1].Value; 
           message = alertText; 
         } 
       } 
       catch (Exception) 
       { 
       } 
    } 
} 

ответ

1

Попробуйте это:

ParsePush.ParsePushNotificationReceived += (sender, args) => { 
    var payload = args.Payload; 
    object aps; 
    if (payload.TryGetValue("aps", out aps)) { 
    string payloadStr = aps as string; 
    } 
}; 

Кроме того, должно быть args.PayloadString, который должен дать некоторые подсказки о структуре полезной нагрузки.

+0

args.PayloadString возвращает значение null, но я вижу, что args.Payload содержит aps, который содержит то, что я хочу. К сожалению, я не могу попробовать это прямо сейчас, но в понедельник. – HenrikP

+0

Привет снова. Это то, что он возвращает http://i.imgur.com/zNeS3qB.png Знаете ли вы, какой хороший способ получить часть «предупреждения» или использовать подстроки? – HenrikP

+0

Вам нужно разобрать его в объект JSON, тогда вы можете получить значение «alert» –

Смежные вопросы