Flutter / Firebase-如何在Android上获取“提示”通知?

时间:2019-03-11 13:51:05

标签: android python firebase flutter firebase-cloud-messaging

我有一个使用firebase-messaging插件发送通知的Flutter应用程序。

我像往常一样在客户端上注册Firebase,然后将fcmToken发送到服务器。

通过使用aiofcm(使用firebase的XMPP API)的python服务器创建通知。它们是这样创建的:

message = aiofcm.Message(
    device_token = t2,
    notification = {
        "title":notification_title,
        "body":notification_body,
        "sound":"default",
        "tag":link
    },
    data = {
        "click_action": "FLUTTER_NOTIFICATION_CLICK"
    },
    priority=aiofcm.PRIORITY_HIGH
)
await fcm.send_message(message)

在iOS上,通知会在屏幕顶部弹出。

在Android上,通知栏中只会显示图标-不会显示任何通知内容。在运行Android P的Pixel 3和OnePlus 6上进行了测试。

理想情况下,我希望通知是这样的“抬头”风格:

enter image description here

在我能够使用data消息并在本机android中以编程方式创建通知之前完成此操作之前,但我想避免这种情况,因为如果应用终止,则数据消息不会在Android上传递

感谢,很乐意提供更多可能需要的信息。

4 个答案:

答案 0 :(得分:1)

提醒 - 通知 - 请设置“alert: true”

示例:

notification = {
    "title":notification_title,
    "body":notification_body,
    "sound":"default",
    "alert" : true
    "tag":link
},

答案 1 :(得分:1)

对于提醒通知,您需要使用 flutter_local_notifications Plugin。甚至建议在 FlutterFire official documentation for notification 中在前台显示通知(当然也支持后台通知!)并且它默认显示抬头通知。

答案 2 :(得分:0)

您应该查看 firebase.flutter.dev 文档,它展示了如何在 flutter_local_notifiation

的帮助下轻松完成此操作

答案 3 :(得分:0)

您可以使用 background fetchlocal notification 包来运行后台应用程序。