如何处理 iOS 远程消息中的附加数据 GCM

Posted

技术标签:

【中文标题】如何处理 iOS 远程消息中的附加数据 GCM【英文标题】:How to handle additional data GCM in iOS remote messages 【发布时间】:2016-08-30 08:56:52 【问题描述】:

我正在通过 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)!
 

【讨论】:

以上是关于如何处理 iOS 远程消息中的附加数据 GCM的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 BackupHelper 和 SQLites 附加文件

如何处理数据库中的配方成分

如何处理大查询错误403:配额超出?

如何处理 GCM 更改注册 ID?

如何处理完成闭包中的多个错误

如何处理 Kafka Connect Sink 中的背压?