0

我正在尝试向Android和iOS发送推送通知。在Android推送通知处理通过数据而在ios 通知是需要在有效载荷显示通知。从Firebase发送推送通知到Android以及iOS

但是,如果通知部分已添加并且用户订阅了两个设备上的通道。在Android上,它会显示2条由有效负载的通知部分创建的消息。

从firebase发送有效内容的任何特定方式。这样它可以在两个设备上运行。

在此先感谢

+0

Firebase支持向iOS和Android发送相同的通知。请参阅https://firebase.google.com/docs/cloud-messaging/android/first-message#send_a_notification_message –

+0

@FrankvanPuffelen:我可以向ios和Android发送通知。但我不想让Firebase使用系统通知托盘。通知将由数据部分创建。 – coreDeviOS

+0

说明需要:“在Android上显示2条消息”。你是说* Android通知抽屉*显示消息两次? – ToolmakerSteve

回答

0

就像Frank说的那样,Firebase确实支持向iOS和Android发送消息。

如果发送的通知消息与Android客户端将要么显示自动生成的基于该通知的有效负载通知的数据有效载荷(所以二者通知和数据),如果该应用是在后台被传递到onMessageReceived回调,您可以选择根据数据和/或通知负载生成通知,如果您希望应用程序处于前台。将不会生成两个通知。

+0

在我看来,OP说他们*收到了两个通知。这不是对他们的问题的*评论*,而是要求澄清,而不是*回答*(这看起来与OP的情况相矛盾,因此不适用于他们)? – ToolmakerSteve

+0

......我在想他们的“通知”有效载荷导致Android生成通知,然后他们有处理“数据”部分的代码(所以他们的应用程序在后台,并对事件作出响应,当时他们以编程方式生成“本地通知”。)根据我正在阅读的内容;还没有尝试过这个,所以寻找一个支持这两个平台的好例子 - 在搜索和阅读一整天之后还没有找到它!如果你可以展示一些可以在两个平台上运行的json,那就太棒了 - 而且是第一个。并澄清什么回调做/不做。 – ToolmakerSteve

+0

嗯。一个问题。根据一些帖子,如果没有通知有效载荷,如果您的应用已被*终止*(因此它不在后台运行),Android将不会执行任何操作。虽然也许“自动启动”可以解决这个问题?对不起,我不清楚:iOS和Android通知密钥要求之间存在*不兼容,所以它似乎支持这两种方法,是将iOS密钥放入通知部分,并将Android密钥放入数据中(让应用程序处理它)。但是如果这样做,Android会认为通知部分是“不完整的” - 我认为它不会显示它,或者显示得不好。 – ToolmakerSteve