FCM和GCM文档都将data
有效负载的结构作为map [string]字符串给出(尽管google's GCM package在map [string] interface {}处实现它}
但是,在很多情况下,简单的平键:值结构不能满足应用程序的需要。一些示例是需要一片值,或者需要发送另一个非平凡的结构时。
将更复杂的数据结构作为map [string]字符串发送的最简洁方法是什么?
结论:我已经将fl0cke的答案标记为正确,因为它提供了使用Go通过FCM / GCM发送复杂数据的解决方案。但是,从FCM文档中可以清楚地看出,数据是关键的:数据字符串对向前移动,因此为了确保将来不会破坏任何内容,我将坚持使用简单的键:值字符串对
答案 0 :(得分:1)
根据this回答,可以使用FCM / GCM发送嵌套数据。 为此,您可以编写自己的FCM客户端或fork google的实现,并从
更改controls
的类型定义
Data
到
type Data map[string]interface{}
插入任何JSON可序列化的类型(例如嵌套结构)。
也可以通过JSON字符串发送数据,而无需更改type Data interface{}
的类型定义:
Data
在客户端解析之前,您可能必须取消引用json字符串。