繁体   English   中英

Google Cloud Messaging-发送消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM