[英]Google Cloud Messaging - Send Message
我有雲數據庫,所以我有所有設備的注冊ID。
我必須使用服務器發送消息嗎? 我可以僅使用regID將消息直接從一台Android設備發送到另一台嗎? 我可以使用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);
您可以直接將消息發送到其他設備,因為只有Google的服務器知道接收方設備的位置。 消息傳遞方案如下所示:
Sender > Google's server > Your server > Google's server > Receiver
從理論上講,您可以將接收者的ID添加到發送數據中,在服務器上獲取它,然后將新消息發送到具體設備。
您可以在文檔中找到更詳細的描述
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.