Я получаю уведомление со стороны сервера и пытаюсь получить от него данные, моя полезная нагрузка такова:
[AnyHashable("title"): New message received, AnyHashable("gcm.notification.data"): {"FilePath":null,"IsAttachment":false,"UserName":"Muhammad Hassan","User":null,"StrUnPublishDate":null,"Message":"Eggshells","UserImage":"http:\/\/gigjobsadmin.arhamsoft.com\/Content\/User\/36\/16-04-2019 11-460.jpg","User1":null,"ToUserID":null,"ToUserId":132,"SenderId":null,"IsRead":false,"Code":null,"StrPublishDate":null,"StrDateTime":null,"Type":null,"Active":null,"StrCreatedDate":null,"ThreadId":46,"Search":null,"FromUserId":36,"CreatedDate":"2019-06-10T23:00:43.5972809Z","Id":1109,"BatchCount":0}, AnyHashable("gcm.message_id"): 0:1560171729408562%3724072637240726, AnyHashable("data"): {"FilePath":null,"IsAttachment":false,"UserName":"Muhammad Hassan","User":null,"StrUnPublishDate":null,"Message":"Eggshells","UserImage":"http:\/\/gigjobsadmin.arhamsoft.com\/Content\/User\/36\/16-04-2019 11-460.jpg","User1":null,"ToUserID":null,"ToUserId":132,"SenderId":null,"IsRead":false,"Code":null,"StrPublishDate":null,"StrDateTime":null,"Type":null,"Active":null,"StrCreatedDate":null,"ThreadId":46,"Search":null,"FromUserId":36,"CreatedDate":"2019-06-10T23:00:43.5972809Z","Id":1109,"BatchCount":0}, AnyHashable("body"): Eggshells, AnyHashable("badge"): 1, AnyHashable("google.c.a.e"): 1, AnyHashable("aps"): {
alert = {
body = Eggshells;
title = "New message received";
};
badge = 1;
category = ".MainActivity";
"content-available" = 1;
}]
Когда я получаю от него aps, он работает нормально, но когда япопробуйте получить данные из ключа "data", он показывает мне ноль.Вот как я получаю значения,
let delegate = UIApplication.shared.delegate as! AppDelegate
let userInfo = delegate.userInfo
print(userInfo!)
let data = userInfo!["data"] as? NSDictionary
let message = data!["Message"] as? String
let userImage = data!["UserImage"] as? String
let fromUserId = data!["FromUserId"] as? Int
let createdDate = data!["CreatedDate"] as? String
guard
let aps = userInfo![AnyHashable("aps")] as? NSDictionary,
let alert = aps["alert"] as? NSDictionary,
let body = alert["body"] as? String,
let title = alert["title"] as? String
else {
// handle any error here
return
}
guard let badge = userInfo![AnyHashable("badge")] as? Int
else
{
return
}