使用Go

时间:2016-07-25 16:30:12

标签: json go firebase google-cloud-messaging

FCM和GCM文档都将data有效负载的结构作为map [string]字符串给出(尽管google's GCM package在map [string] interface {}处实现它}

但是,在很多情况下,简单的平键:值结构不能满足应用程序的需要。一些示例是需要一片值,或者需要发送另一个非平凡的结构时。

将更复杂的数据结构作为map [string]字符串发送的最简洁方法是什么?

结论:我已经将fl0cke的答案标记为正确,因为它提供了使用Go通过FCM / GCM发送复杂数据的解决方案。但是,从FCM文档中可以清楚地看出,数据是关键的:数据字符串对向前移动,因此为了确保将来不会破坏任何内容,我将坚持使用简单的键:值字符串对

1 个答案:

答案 0 :(得分:1)

根据this回答,可以使用FCM / GCM发送嵌套数据。 为此,您可以编写自己的FCM客户端或fork google的实现,并从

更改controls的类型定义
Data

type Data map[string]interface{}

插入任何JSON可序列化的类型(例如嵌套结构)。

也可以通过JSON字符串发送数据,而无需更改type Data interface{} 的类型定义:

Data

在客户端解析之前,您可能必须取消引用json字符串。