我已经阅读了所有相关的 SO 问题,其中大部分是在 2017 年或 2018 年初回答的,当时 Google 简化了即时应用程序的创建方式。就我而言,我创建了一个“即时启用的应用程序包”(此处描述 https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle)既可以作为应用程序使用,也可以作为即时应用程序使用。
该应用程序包包含我编写的一个库,该库配置为接收 Firebase 消息(此处描述 https://firebase.google.com/docs/cloud-messaging) 来自 AWS 简单通知服务 (SNS)。问题是应用程序运行时会收到消息,但即时应用程序运行时不会收到消息。
好消息是,当我查看 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"
}
}
我已经搜索过需要显示通知错误但找不到任何东西。有人知道这意味着什么以及如何解决吗?谢谢!
由于我写了上面的内容,我也尝试添加一个通知对象:
{
"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"
}
}
现在我收到错误缺失数据Uri代替需要显示通知错误。当我使用 Postman 将此消息直接发送到设备令牌时,我还得到了缺失数据Uri错误,所以我认为这不是 AWS SNS 或 Firebase 云消息传递问题,而只是即时应用程序问题。
最后,我了解到早在 2018 年就有一个“即时应用程序通知测试版”似乎仍在运行:https://g.co/instantapps/notifications https://g.co/instantapps/notifications
是否仍然无法向即时应用程序发送推送通知,特别是使用“数据”有效负载? (我继续提交了表格......以防万一。)
谢谢大家!