Firebase消息无法在现代Android即时应用程序中工作-需要DisplayNotification



我已经阅读了所有相关的SO问题,其中大多数问题都是在2017年或2018年初提出的,当时谷歌还没有简化即时应用程序的创建方式。就我而言,我创建了一个";即时应用捆绑包";(此处描述(既可以作为应用程序,也可以作为即时应用程序。

该应用程序包包括我编写的一个库,该库被配置为从AWS简单通知服务(SNS(接收Firebase消息(此处描述(。问题是,在运行应用程序时会收到消息,但在运行即时应用程序时不会收到消息。

好消息是,当我查看AWS CloudWatch控制台时,我可以看到每一次失败的尝试。以下是消息的相关部分:

"providerResponse": "{"results":[{"error":"InvalidParameters: DisplayNotificationRequired"}],"multicast_id":"8198293557962051","success":0,"failure":1,"canonical_ids":0}"

消息内容为:

{
"to" : "fi_Pclw7RrWtPm0xMVSgbC:APA91bGJFzM6RQVisO0N_JOAb8rUOKBVPZ0I5jh9Vf-4f-xXtbQY_Ik7q3wLGeCbR5bh_lFWDy0PX-F2mIlamMlCTIuEqEOlk0KcFO9a5fYk6B_omGqevjY6KNiByI5j_vKQaF17Rif8",
"data" : {
"body" : "Content message",
"title": "the Title",  
"key_1" : "Value for key_1",
"key_2" : "Value for key_2"
}
}

我已经搜索了DisplayNotificationRequired错误,但找不到任何内容。有人知道这意味着什么以及如何修复吗?谢谢


由于我写了上面的内容,我也尝试添加一个通知对象:

{
"to" : "fi_Pclw7RrWtPm0xMVSgbC:APA91bGJFzM6RQVisO0N_JOAb8rUOKBVPZ0I5jh9Vf-4f-xXtbQY_Ik7q3wLGeCbR5bh_lFWDy0PX-F2mIlamMlCTIuEqEOlk0KcFO9a5fYk6B_omGqevjY6KNiByI5j_vKQaF17Rif8",
"notification" : {
"body" : "Content message",
"title": "the Title"
},
"data" : {
"body" : "Content message",
"title": "the Title",  
"key_1" : "Value for key_1",
"key_2" : "Value for key_2"
}
}

现在,我得到了一个MissingDataUri的错误,而不是DisplayNotificationRequired错误。当我使用Postman将此消息直接发送到设备令牌时,我还会收到MissingDataUri错误,所以我认为这不是AWS SNS或Firebase云消息问题,而是即时应用程序问题。

最后,我明白了;即时应用通知测试版";早在2018年,它似乎仍在运行:https://g.co/instantapps/notifications

是否仍然无法向即时应用程序发送推送通知,特别是带有"数据"负载的推送通知?(我继续提交了表格…以防万一。(

谢谢大家!

唯一能做到这一点的方法是将通知附加到前台服务。即时应用程序当前无法进行远程通知。

我能问你为什么要这么做吗?即时应用程序应该提供即时体验,你应该假设用户要么安装完整版本,要么在关闭应用程序后放弃它。因此,远程通知没有多大意义,除非它被附加到";经验;用户所期望的。

如果体验需要通知流,则应该使用前台服务。一个很好的例子是,如果你购买了一个有队列的临时服务(例如理发师(,并且你想在等待时间内通知用户。在这种情况下,您可以创建一个带有附加通知的前台服务。该服务在后台轮询您的后端,以获得时间估计和队列位置,然后相应地更新通知。当用户完成理发后,您可以关闭前台服务,从而允许该应用程序自动从设备中删除。

阅读有关服务的更多信息:https://developer.android.com/guide/components/services

您需要:https://developer.android.com/reference/android/Manifest.permission#INSTANT_APP_FOREGROUND_SERVICE

相关内容

  • 没有找到相关文章