使用推送通知在 Android 应用程序中触发代码?

Using push notifications to trigger code within Android app?

使用基于 AWS 构建的无服务器架构,我正在寻找让用户在我的 Android 应用程序中近乎即时地收到新 "chats" 通知的最佳方式。我不一定希望在 phone 的通知托盘中看到推送通知 - 我只是希望该应用程序侦听新消息,并相应地更新视图。

这是我的想法:每次用户发送聊天时,我基本上都会触发一个 Lambda 函数,该函数会调用 SNS 或 IoT 向该聊天的任何订阅用户发布通知。

但是由于 SNS/IoT 都通过将 "push notifications" 发送到 phone 来工作,这是否意味着消息必须出现在 phone 的通知托盘中?我只是在寻找一种方法让我的应用程序 静默 从 AWS 接收近乎即时的通知并执行代码以更新其视图。

一些其他注意事项:

1) 我不想使用带有 websocket 侦听器的服务器/EC2 来构建它 - 我宁愿使用无服务器。

2) 我查看了 Google 的 Firebase 实时数据库,它看起来非常强大,但由于我架构的其余部分都在 AWS 上,所以如果可能的话我想留在那里

我的建议是使用 FireBase... 并使您的 Json 标签具有 "data" 而不是 "Notification"

如果您只为 Android 制作应用程序,您可以使用来自 Firebase 的 FCM 中的 data 消息。无论您的应用程序在前台还是后台,您都可以在 onMessageReceived 中处理消息。

除此之外,firebase 提供与大多数服务器端语言的集成。您应该能够在您的 lambda 函数中发送消息。