我有一个使用spring框架运行的java服务器。现在,我必须开发一个GCM服务,将数据从服务器发送到Android应用程序。
我在互联网上看到了一些教程,他们都用php脚本实现了这项服务。我想知道我是否可以在带有spring的java服务器中使用它们。
我知道我可以把代码重写成Java,但我没有那么多时间,因为这是大学的工作,所以我不想浪费太多时间重写所有这些。。
所以我想知道是否可以添加这些php脚本,如果可以,我该怎么做?
即使您用一些发送GCM消息的PHP代码连接Java服务器,您仍然必须将注册ID和通知负载传递给该代码。简单地使用谷歌提供的gcm-server.jar
不是更容易吗?
使用gcm-server.jar
,发送GCM消息所需的代码如下所示:
Sender sender = new Sender(apiKey);
Message message = new Message.Builder()
.delayWhileIdle(true)
.addData("key1", "value1")
.addData("key2", "value2")
.build();
Result result = sender.send(message, registrationId, numOfRetries);
如果您希望处理错误响应,您应该检查结果实例,看看GCM服务器是否成功接收到消息,如果没有,发生了什么错误。
您唯一需要实现的另一件事是一些servlet,它接受来自Android应用程序的注册ID并将其存储在DB中。也许您可以使用现有的PHP代码来完成这一部分(在PHP代码和Java代码之间不需要任何接口)。
您可以从java代码执行外部程序
您将不得不以某种方式来回传递数据。读取/写入stdin和stdout可能是
这可能会有所帮助:在java中执行外部程序
可以。他们有用纯Java编写的PHP、JavaScript甚至Python的解释器。对于PHP来说,Caucho-Quercus就是其中之一。