android - FCM Firebase 推送通知 Android/iOS

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

我正在使用 FCM 为展位平台、iOSAndroid 中的项目发送通知。以下是我发送的有效载荷:

{ 
  "to":"user_key",
  "priority":"high",
  "content_available":true,
  "mutable_content":true,
  "data":{
        "body":"test"
  }
}

阅读Firebase文档后,通过FCM发送notificationdata payload时的行为是:

iOS

  • 如果 notification -> body 未定义,您将看不到横幅。

安卓

  • 如果您只传递数据负载,它将在后台时接收数据。
  • 如果您传递notification_payload系统托盘会处理它。

事情是:

对于 Android 我想避免传递 notification_payload 以便在应用程序处于后台时接收数据(这样 onMessageReceived() 将被调用)。但是,我不会在 iOS 中收到通知

感谢帮助/建议。

最佳答案

服务器应该为 IOS 和 Android 推送请求使用不同的 json 结构。例如:

安卓:

[data] => Array
        (
            [title] => Test
            [message] => Message
        )

IOS:

[notification] => Array
        (
            [title] => Title
            [body] => Body
            [sound] => 1
            [vibrate] => 1
        )

[data] => Array
        (
            [custom_key] => custom_value
        )

您可以根据您的任务对其进行编辑。

关于android - FCM Firebase 推送通知 Android/iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53259518/

相关文章:

ios - viewDidAppear 上的动画 UIImageView 和 UITableView

iOS 8 Storyboard/主界面

ios - 用 firebase 数据库和存储填充 TableView ?

Android:带图像的 ListViews 的 Vogella 上下文操作模式

android - 使用框架布局渲染多个 View

ios - 在 rails 中显示 base64 编码的图像

ios - Firebase 在 Swift 中使用 PromiseKit/AwaitKit 调用永远不会返回

android - OneSignal:推送通知不起作用

android - 尽管在使用 FirebaseStorage 时初始化 FirebaseApp,但仍获取 "Default FirebaseApp is not initialized in this process"

android - 谷歌电视 : is there a way to know the current channel/program being watched with user permission?