我有兩個運行gcm客戶端應用程序的android設備。我得到了兩個設備的註冊ID。我也有一個服務器API密鑰。現在,使用一個簡單的PHP代碼使用cUrl或Zend框架,我可以從Web服務器發送消息給我的一個機器人(當然,我也可以播出)。但是,有了這個,有沒有辦法將字符串從一個設備發送到另一個設備?可以使用gcm來發送和接收Android設備之間的消息嗎?
3
A
回答
3
引用自己從my book:
你也許會使用GCM爲對等網絡的消息,沒有 自己的服務器。實際上,每個Android應用程序都是它自己的服務器,使用與您的Android應用程序內的Web應用程序一起使用的相同JAR可以將消息發送給其他某個 派對。例如,您可以實現聊天系統,而無需專用的聊天服務器 。
這裏的危險是,這需要您的API密鑰嵌入到您的Android應用程序的 中。擁有該API密鑰的任何人都可以完美地向您發送 消息。您可以放置在該API密鑰上的IP地址限制爲 不太可能提供幫助,因爲您的合法使用可能來自任何IP地址,而不是僅僅某個單一服務器的 。由於在APK文件中查找魔術字符串並不困難 ,因此將您的API密鑰放入您的APK文件是一種危險的 移動。
因此,你會想要你自己的一些服務器作爲中間人。
2
你可以做的一件事是通過消息和其他Android設備的註冊ID向您的Web服務器發出POST請求,但這會有點麻煩,因爲您必須找出一種方法從您的Web服務器檢索其他Android設備的註冊ID。
我建議尋找XMPP,因爲這個協議是從頭建立起來的,是一個廣泛的消息協議。我很肯定你會找到很好的XMPP服務器框架來實現你的功能。
+1
我曾嘗試過xmpp。但我覺得這個gcm thingy有點花哨:) – venkatKA
相關問題
- 1. 如何在gcm和openfire之間發送和接收消息?
- 2. 我可以使用gcm將視頻發送到Android設備嗎?
- 3. GCM向所有設備發送消息
- 4. 的Android GCM訊息發送不接收
- 5. Android GCM推送通知 - 將消息發送到一組設備
- 6. 無法在使用GCM的設備上接收消息
- 7. GCM ANDROID無法發送通知/消息到Android設備
- 8. Android的GCM發送多個消息到設備
- 9. 將一個設備的Android GCM消息發送到其他
- 10. 通過Android版本4.0.4中的GCM發送接收消息
- 11. android GCM從多個設備接收消息
- 12. Android接收和發送消息
- 13. GCM可以向VoIP iOS發送推送通知消息嗎?
- 14. 使Android設備作爲服務器直接發送消息給GCM
- 15. Android GCM不向設備發送通知消息
- 16. GCM android無法在某些設備上發送消息?
- 17. Android設備和其他NFC設備之間可以使用Android Beam嗎?
- 18. 通過WiFi在兩臺Android設備之間發送消息
- 19. 無法接收來自GCM的消息
- 20. 使用Socket發送和接收消息的Android應用程序:
- 21. Can Akka可以用來向/從外部系統發送/接收消息嗎?
- 22. 發送消息給android設備,它將消息發送回Android Wear,但收到消息時從不會觸發
- 23. 藍牙設備可以發送消息到WiFi嗎?
- 24. ChromeCast接收器可以將POST消息發送到服務嗎?
- 25. 發送GCM後收到空推送消息上傳消息
- 26. 如何在VB6和c#之間發送/接收Windows消息?
- 27. 使用Smack Api發送和接收消息Android的
- 28. 發送消息來自C#的GCM
- 29. 設備未收到來自GCM的消息
- 30. 設備沒有收到來自Google GCM的消息
所以,我認爲這是「不推薦,儘管可能。」謝謝 – venkatKA
那麼,如果他們能僞造消息呢?他們仍然沒有設備註冊ID。他們可能只是填寫您的消息傳遞配額,而無需聯繫設備。雖然我確信有些「黑客」會在應用程序上執行DOS操作,但他們可能沒有別的辦法。 –