【问题标题】:Send Push Notification from Firebase to Android as well as iOS从 Firebase 向 Android 和 iOS 发送推送通知
【发布时间】:2016-12-18 06:37:30
【问题描述】:

我正在尝试向 android 和 ios 发送推送通知。在 Android 上,推送通知由 data 处理,而在 ios 上,payload 中需要 notification 来显示通知。

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

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

提前致谢

【问题讨论】:

  • Firebase 支持向 iOS 和 Android 发送相同的通知。见firebase.google.com/docs/cloud-messaging/android/…
  • @FrankvanPuffelen:我可以向 ios 和 Android 发送通知。但我不希望 Firebase 使用系统通知托盘。通知将由数据部分创建。
  • 需要澄清:“在 Android 上显示 2 条消息”。您是说 Android 通知抽屉 显示消息两次?
  • 您找到问题的答案了吗?

标签: android ios firebase apple-push-notifications firebase-cloud-messaging


【解决方案1】:

正如 Frank 所说,Firebase 确实支持向 iOS 和 Android 发送消息。

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

【讨论】:

  • 在我看来,OP 说他们确实收到了两个通知。这不应该是对他们要求澄清的问题的评论,而不是答案(这似乎与OP的情况相矛盾,因此不适用于他们)?
  • ...我认为他们的“通知”有效负载导致 Android 生成通知,然后他们有处理“数据”部分的代码(因此他们的应用程序在后台,并响应事件,当时他们以编程方式生成“本地通知”。)根据我正在阅读的内容;我自己还没有尝试过,所以寻找一个支持两个平台的好例子——在搜索和阅读一整天之后还没有找到它!如果您可以展示一些适用于两个平台的 json,那就太棒了——而且是第一次。并澄清回调做什么/不做什么。
  • 嗯。一题。根据一些帖子,如果没有通知负载,如果您的应用已终止(因此它不在后台运行),Android 将不会做任何事情。虽然也许“自动启动”可以解决这个问题?抱歉,我不清楚:iOS 和 Android 通知键要求之间存在不兼容,因此似乎支持两者的方法是将 iOS 键放在通知部分,将 Android 键放在数据中(让应用程序处理它)。但如果这样做,Android 会认为通知部分是“不完整的”——我认为它要么不显示,要么显示效果不佳。
猜你喜欢
  • 2017-12-07
  • 2020-12-28
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 2020-12-24
相关资源
最近更新 更多