从服务器发送消息到安卓应用程序

3
我有一个应用程序,显示存储在MySQL数据库中的消息。目前,用户必须按下按钮才能将消息下载到他或她的手机上。我想实现这样的功能:如果对消息进行更新,则应用程序会自动检查数据库并下载新的消息。我只需要一个触发器来执行代码,以便在数据库更新时自动执行。

我查看了Firebase,但必须创建新的数据库才能进行实时更改。我只需要从服务器发送触发器,以便应用程序可以执行代码。我尝试使用AlarmManager定期检查更新,但它并没有真正起作用,因为当应用程序初始化Alarm时,Alarm仅触发一次。此外,我读到了这种方式不正确的说法。
有没有一种无需第三方程序的方法?我不能使用PHP向所有Android应用程序发送消息吗?
谢谢,
曼努埃尔

1
您可以使用Firebase Cloud Message(FCM)与服务器通信以向设备发送消息。但是,建议使用Firebase实时数据库。了解有关FCM的更多信息,请访问:https://firebase.google.com/docs/cloud-messaging/ - Geo
4个回答

5

您可以使用FCM或GCM发送推送通知,并在其到达时处理消息,或者创建一个WebSocket并将应用程序连接到它。在我看来,推送是最好的方法。


1
强调一下,他应该只使用推送通知来发出信号,以便应用程序从服务器检索数据。为了使他能够对这些通知做出反应,他应该将消息和标题字段留空,但添加一个元数据对象。请避免使用Web-sockets,除非您绝对需要。 - Smile

1
您可以通过使用由以下方式触发的推送通知 FCM 来实现: - 当新消息保存到数据库时,由您的PHP后端触发。 - 直接在新元素存储时由mysql存储过程触发。

0

MySQL是一种基于服务器的数据库。它与您的应用程序没有任何“连接”。要实现这一点,您需要使用一个定期检查消息并向设备发送通知的服务。Google Cloud Messaging被广泛使用。我使用FCM,它非常可靠。您可以在不使用Firebase数据库的情况下设置它。只需使用Firebase函数定期检查数据是否更新,然后向设备发送通知即可。

enter image description here


0

您可以使用Firebase推送消息来为您的应用程序提供服务:https://firebase.google.com/docs/cloud-messaging/。该文档简单明了,还有示例。如果您不想从服务器发送通知,则可以使用库(例如Java的Pushraven)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接