我有云數據庫,因此我擁有所有設備的註冊ID。Google Cloud Messaging - 發送消息
我必須使用服務器發送消息嗎?我可以直接從一臺Android設備向另一臺使用regID發送消息嗎?我可以使用Android設備作爲服務器嗎?
我有云數據庫,因此我擁有所有設備的註冊ID。Google Cloud Messaging - 發送消息
我必須使用服務器發送消息嗎?我可以直接從一臺Android設備向另一臺使用regID發送消息嗎?我可以使用Android設備作爲服務器嗎?
更詳細的描述如果每一個Android設備訪問註冊ID的數據庫,它可以發送GCM訊息到其他設備不使用的服務器。您只需對GCM執行相同的HTTP請求,您通常會從服務器執行該請求。該請求將直接發送到GCM服務器,然後從那裏發送到其他設備上的應用程序。要執行該請求,除了收件人註冊ID之外,還需要您的應用程序知道發件人ID(用於註冊到GCM)和API密鑰(用於發送消息)。您可以使用gcm.send
方法。該方法將消息發送到您的服務器。
是的,你可以發送郵件到您的服務器:
data.putString("my_message", "Hello World");
data.putString("my_action", "com.google.android.gcm.demo.app.ECHO_NOW");
String id = Integer.toString(msgId.incrementAndGet());
gcm.send(SENDER_ID + "@gcm.googleapis.com", id, data);
可以的直接發送消息給其他設備,因爲只有谷歌的服務器知道從哪裏接收設備。消息的方案是這樣的:
Sender > Google's server > Your server > Google's server > Receiver
理論上你可以接收器的ID添加到發送數據時,得到它的服務器上,然後發送新郵件到具體的設備。
您可以找到documentation
我已經看過了這裏的Http方法,它的工作原理是http://developer.android.com/google/gcm/http.html –