2016-08-17 90 views
0

我正在使用Firebase云消息传递。我有几个问题我无法从文档来了解:Firebase Pull通知

  1. 安卓:让我们假设应用程序被关闭(不中背景:关闭)。如果我发送一个通知,也将数据有效载荷,该数据有效载荷通过意向额外
  2. 传递给活动

与消息通知与数据有效载荷,背景和前景 。在这种情况下,通知将传递到 设备的系统托盘,并且数据有效负载将通过您的启动器活动意图的附加组件 来传递。

如果用户没有点击通知会怎么样?数据有效载荷是否丢失?有没有办法检索它?

  1. iOS/Android。让我们假设用户禁用了通知,并且我发送了一个通知给客户端:有没有办法在应用程序启动时检索(拉)通知?

非常感谢

回答

1

如果应用程序被关闭(未在后台)收到通知时,onMessageReceived方法被调用,在那里,你可以检索数据净荷与remoteMessage.getData().get("key_for_parameter");其中key_for_parameter是您在通知中发送的参数的名称。即使应用程序关闭,也会调用此方法。但是,考虑到只有在省略通知中的“通知”参数时才会调用“onMessageReceived”(查看this post

因此,一旦在onMessageReceived中有参数,您可以查找使用它们的策略在您的应用程序中,如存储在数据库中,并且如果用户未单击通知,则不会丢失数据。

+0

太棒了!我错过了“onMessageReceived”仅在“通知”被省略时才被调用的事实。这不是很奇怪吗?我没有在文档中找到它。 –

0

如果你在后台程序,火力地堡不会触发onMessageReceived()。为什么.....?我不知道。在这种情况下,我没有看到实施FirebaseMessagingService的任何问题。

根据文档,如果你想处理后台消息到达,你必须发送'click_action'与您的消息。但是,如果您仅通过Firebase API发送来自Firebase控制台的消息,则无法进行此操作。这意味着你将不得不建立自己的“控制台”,以便市场营销人员使用它。所以,这使得Firebase控制台也相当无用!

这个新工具背后有一个非常好的有希望的想法,但执行得很糟糕。

,我想我们将不得不等待新版本和改进/修复