Как обрабатывать дополнительные данные GCM в удаленных сообщениях iOS
Я получаю удаленные уведомления через Google Cloud Messages. Появляется сообщение, к элементу приложения прикрепляется значок, звук также работает нормально. Сейчас я пытаюсь получить доступ к дополнительным данным, но немного борюсь. Вот как выглядит сообщение:
Notification received: [gcm.notification.shops: ["548","525"], gcm.message_id: 0:1472546619970126%1dfec10a1dfec10a, gcm.notification.vibrate: 1, aps: {
alert = {
body = "2 neue Gutscheine verf\U00fcgbar";
title = "Neue Gutscheine";
};
badge = 2;
"content-available" = 1;
sound = 1;
}]
Как я могу теперь получить доступ к массиву магазинов? Это не работает:
var shops :[String] = userInfo["shops"] as! [String]
Я пытаюсь обработать это в функции didReceiveRemoteNotification().
1 ответ
Решение
Изменение элемента из массива в строку и превращение его в массив в самом конце сделали свое дело:
if let v = userInfo["gcm.notification.shops"] as? NSString{
let new_vouchers_string = v.componentsSeparatedByString(",")
let new_vouchers = new_vouchers_string.map { Int($0)!}
}