我有一個運行在spring框架下的java服務器。現在我必須開發一個GCM服務來將數據從服務器發送到Android應用程序。是否可以在Java服務器中添加PHP腳本?
我在互聯網上看到一些教程,他們都在php腳本中實現了這個服務。我想知道是否可以在我的java服務器中使用它們。
我知道我可以重寫代碼Java,但我沒有那麼多的時間,它是大學的工作,所以我不想浪費太多的時間改寫了這一切..
所以我'想知道是否可以添加這些PHP腳本,如果是的話,我該怎麼做?
我有一個運行在spring框架下的java服務器。現在我必須開發一個GCM服務來將數據從服務器發送到Android應用程序。是否可以在Java服務器中添加PHP腳本?
我在互聯網上看到一些教程,他們都在php腳本中實現了這個服務。我想知道是否可以在我的java服務器中使用它們。
我知道我可以重寫代碼Java,但我沒有那麼多的時間,它是大學的工作,所以我不想浪費太多的時間改寫了這一切..
所以我'想知道是否可以添加這些PHP腳本,如果是的話,我該怎麼做?
即使您將Java服務器與一些發送GCM消息的PHP代碼連接,您仍然必須將註冊ID和通知負載傳遞給該代碼。簡單地使用Google提供的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服務器接收,如果不是,發生了什麼錯誤。
您需要實現的唯一一件事是從您的Android應用程序接受註冊ID並將它們存儲在數據庫中的一些servlet。也許你可以使用現有的PHP代碼(你不需要PHP代碼和Java代碼之間的任何接口)。
Oooww!那就是我想要的!我會測試這段代碼,它似乎很容易!關於從Android應用程序發送ID到服務器,有沒有gsm庫做的任何竅門,還是我必須通過使用Rest服務或類似的東西發送它? –
@FelipeMosso要發送ID,您需要一些servlet或JSP或類似的東西。谷歌圖書館沒有提供這個功能,因爲它不會假設你打算從你的應用發送到你的服務器(你可能決定在註冊ID旁邊發送更多信息),並且它不會對如何發送你打算將數據存儲在你的服務器上。 – Eran
好吧!非常感謝!我要試一試,我也從android sdk獲得了一些示例!非常感謝您給我指導! –
是的,可以。他們擁有PHP,JavaScript甚至用純Java編寫的Python的解釋器。對於PHP,一個這樣的產品是Caucho Quercus。
我認爲其他方式rund是不正確的事實說... –
我不知道你剛纔說什麼。 OP詢問您是否可以在Java/Spring Web應用程序中運行PHP,我相信您可以使用包含的鏈接,該鏈接是用Java編寫的PHP解釋器的WAR部署。 – CodeChimp
這是沒有批評,只有一個尖銳的評論關於Java;) –
簡答:第 – BlackHatSamurai