繁体   English   中英

如何在我的android设备上实现推送通知

[英]How to implement push notifications on my android device

我对整个应用程序进行了非常基本的设计,其中几个装有我的应用程序的用户在其中通过android设备将数据通过android应用程序的HTTP发布请求提交到服务器(我使用REST Web服务(java)+ postgresql作为服务器) 。 我成功实现了这一目标,并且应用程序运行正常。 现在,我想实现一个方案,其中服务器上数据库上的任何更改(CRUD操作)都应在我的用户android设备上创建一个通知。 我应该如何在服务器设计不变的情况下实现这一目标? 我研究了Google Cloud Messaging,但可以弄清楚服务器的实现。

到目前为止,我已经在postgresql上实现了数据库触发器,并且能够使用postgresql的Notify / Listen功能将控制权返回给Java代码。 从这里我需要连接到android设备。 如何做到这一点。 Google Cloud Messaging是唯一方法吗? 我没有在该服务器中看到任何插入/更新语句。 有人可以指导我吗?

您可以使用GCM或在服务器端实现Socket并从移动设备打开套接字连接,但是这种方法可能会增加一些额外的处理开销,因为它将创建一个守护程序线程来侦听来自移动设备的套接字端口。

您应该使用本机库( NotificationManager等), 在这里可以找到不错的教程。

我的建议是为您使用GCM。 GCM通常最多占用4kb,因此您可以拥有自己定义的“命令”。 您可以使用它们来确定两端(即android应用和服务器端)上的请求。 服务器上的php脚本可以帮助您。

我正在开发一个应用,其中android应用通过POST将消息发送到服务器,服务器通过GCM将消息转发给适当的用户。 就我而言,我有很多事情要分享,因此在这种情况下,我使用的是命令,例如,如果这是一条新的传入消息,我将GCM发送给应用程序,其中一个变量作为命令,其余作为数据。 在android应用上,我使用command变量来确定如何处理数据。

请避免使用该套接字建议,它可以使您的应用耗尽电池电量来维持打开的套接字,此外,您不必在Google服务器已经拥有轮子的情况下重新发明轮子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM