【发布时间】:2020-08-12 14:03:41
【问题描述】:
tr;博士
刚刚意识到这个问题只适用于 Android,因为 iOS 处理通知的方式略有不同,您可以对通知做任何您想做的事情。
根据我现在的理解,我可以将我的问题简化为以下内容:
如何让 Android 设备显示带有从 URI 配置的深层链接的通知,而无需编码?
我们需要在 Android 和 iOS 平台的系统托盘上显示带有深层链接的通知,每个通知都必须打开应用的特定屏幕。
必须使用 URI 配置深层链接。
在 Android 上,当应用处于前台时,必须手动处理来自 Firebase 的消息。这样,我们就能够从远程消息中读取所有数据,并使用使用 URI 配置的深层链接构建通知。
但是当应用程序在后台时,Firebase 会自动显示通知。无法在其上配置深层链接。
我们知道可以发送数据消息而不是通知消息。这将是 Android 上的一个解决方案,因为每条消息都必须手动处理,从而可以使用 URI、深层链接和所有内容随心所欲地构建通知。
但这不适用于 iOS。在 iOS 上,必须发送通知消息。
这是 Firebase 接受的基本 JSON:
{
"message": {
"notification": {
"title": "Lorem",
"body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"token": "..."
}
}
我们尝试设置message.uri、message.link、message.action、message.click、message.click_action 的几种组合,但都没有奏效。
我们还尝试了data.uri、data.link、data.action、data.click、data.click_action,但我们还是没有运气。
阅读 Firebase 源代码 (NotificationsParams:212) 我们发现有一种方法可以在通知上配置链接,但我们在文档中没有找到任何相关内容。
我们可以在哪里以及如何指定 URI,以便使用它自动构建通知,并且在应用程序处于前台时也可用?
【问题讨论】:
标签: android ios firebase notifications firebase-cloud-messaging