Firebase Cloud Messaging click_action格式是否特定于平台?

时间:2017-02-17 12:03:02

标签: firebase click firebase-cloud-messaging

我正在使用Firebase Cloud Messaging向我的应用的客户发送通知。客户端可以是三个支持的平台中的任何一个(ios,android,web)。

我希望用户能够点击通知来启动应用 为此,我必须在通知中指定click_action。 对于ios和android来说,这似乎是一个简单的字符串。 对于网络来说,这将是一个网址。

我应该如何发送适用于潜在混合设备的通知?

我是否必须将设备分开并向其发送不同的消息?

2 个答案:

答案 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)并同时调用它们。