2017-02-17 25 views
2

我正在使用Firebase云消息传递向我的应用的客户端发送通知。客户端可以是三种支持平台(ios,android,web)中的任何一种。Firebase云消息传递Click_action格式是特定于平台的吗?

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

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

我必须分开设备并向他们发送不同的消息吗?

+0

plz明确解释你想要的 –

+0

你想发送所有平台的Android IOS和网络 –

+0

Web的通知是在firebase-messaging-sw中收到的。我想,我可以将字符串映射到ios或android映射到那里的url。你怎么看? –

回答

3

FCM基于由设备生成的ID different.if要发送的所有平台,其中R difrent设备到设备和平台的平台和卷曲会是不同的平台。对于不同的Android不同,适用于iOS不同,网络上的作品你必须调用3倍方法(IOS,Android,网络)蒙山不同的有效载荷或针对不同的平台。我米的双平台发送的ios和android以使得两个不同的功能,并呼吁同时凝乳会议

+0

请注意,这种方法很难在FCM中使用设备组和主题。您将不得不创建特定于平台的组和主题。 – nicoqh

3

更新: FCM增加了一项最新功能,可以为特定平台提供特定参数,称为Platform Overrides


根据您的有效负载,每个平台可能会处理相同的通知。

click_action参数支持所有3个平台(Android,iOS设备的Web):

与通知用户点击相关联的动作。

每个具有不同的音符:

  • 的Android

    如果指定,则具有匹配意图过滤器的活动,当用户点击该通知启动。

  • 的iOS

    对应于在有效载荷的APN类别

  • 网络

    对于所有URL值,需要安全的HTTPS。

的Web不说,你只能有网址,因为它的价值,只是,如果是一个URL,它应该有安全的HTTPS(出于安全原因)的说明。

只要您能够相应处理它们并且您喜欢,就可以为所有平台发送单个通知。但是,也可以在其他答案中建议,最好根据平台发送不同的有效负载。

+0

在您对[相关问题](https://stackoverflow.com/q/48457799/4815718)的评论中,您指出不支持“click_action”。这个评论是否过时了? –

+0

忽略我以前的评论。我现在看到这个答案是针对传统FCM的。我对_Platform Overrides_的链接感到困惑,它描述了FCM v1 HTTP协议选项。 –

相关问题