我正在使用Firebase Cloud Messaging向我的应用的客户发送通知。客户端可以是三个支持的平台中的任何一个(ios,android,web)。
我希望用户能够点击通知来启动应用 为此,我必须在通知中指定click_action。 对于ios和android来说,这似乎是一个简单的字符串。 对于网络来说,这将是一个网址。
我应该如何发送适用于潜在混合设备的通知?
我是否必须将设备分开并向其发送不同的消息?
答案 0 :(得分:7)
更新:为FCM添加了一项最新功能,该功能提供了为特定平台提供特定参数的选项,称为Platform Overrides。
每个平台可能会根据您的有效负载不同地处理相同的通知。
所有3个平台(Android,iOS,Web)都支持click_action
参数:
与用户点击通知相关联的操作。
每个都有不同的注释:
的Android
如果指定,则当用户单击通知时,将启动具有匹配意图过滤器的活动。
的iOS
对应于APNs有效负载中的类别。
网络
对于所有网址值,都需要安全的HTTPS。
网络说明并没有说您只能拥有网址作为其价值,只要它是一个网址,它应该有安全的HTTPS(出于安全原因)。
可以为所有平台发送单个通知,只要您能够相应地处理它们并且您喜欢它们。但是,正如另一个答案所建议的那样,最好根据平台发送不同的有效负载。
答案 1 :(得分:3)
FCM的工作原理是设备生成的ID,具体取决于设备,平台和卷曲会话。因此,对于Android,iOS和Web,它们会有所不同。如果要发送到所有平台,则必须为方法调用该方法三次(每个平台一次),每个平台使用不同的有效负载或卷曲会话。我发送到两个不同功能的平台(iOS和Android)并同时调用它们。