带有DATA Payload的Firebase通知声音

时间:2016-11-14 18:22:18

标签: android firebase push-notification firebase-cloud-messaging

我使用Firebase API从我的服务器发送通知并使用数据:而不是通知:...当我使用通知时,声音有效。我只是设置了声音=默认值,它会在后台收到通知时播放。

当我使用DATA时,我仍然收到消息,但是当我设置sound = default时没有播放声音。我是否必须将我的声音作为mp3加载到项目中?或者我的FiremaseMessagingService.java文件onReceive中有什么要做的?

在使用通知的时候好像。使用ONY通知数据没有通过

2 个答案:

答案 0 :(得分:0)

sound参数是Notification payloads的预定义参数,其中通知消息是(根据docs):

  

FCM代表客户端应用自动向最终用户设备显示消息。通知消息具有一组预定义的用户可见键。

换句话说,系统是自动处理此系统的系统。所以你看到的行为是预期的行为。

使用Data payload时(来自上述相同文档):

  

客户端应用负责处理数据消息。数据消息只有自定义键值对。

您必须实现如何在onMessageReceived()中处理有效负载中的详细信息(假设您的应用处于前台,您仍需要了解如何{{3}根据您的应用状态而定)。这包括您包含的sound参数。

答案 1 :(得分:0)

有一个简单的方法可以做到这一点。

使用数据有效负载时,您不必在其中使用任何声音标签。

只需像这样在NotificationCompat.Builder上调用.setSound(如果有任何自定义声音,请更改URI)-

Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setSound(uri);