Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果我没有';你没有任何数据要存储吗?_Android_Google Cloud Messaging - Fatal编程技术网

Android 如果我没有';你没有任何数据要存储吗?

Android 如果我没有';你没有任何数据要存储吗?,android,google-cloud-messaging,Android,Google Cloud Messaging,这似乎是目前需要的: 客户端1->后端->GCM->客户端2 但我不确定在我不想存储任何数据的情况下,后端服务器会做什么。我只希望通过GCM实现客户对客户的交互: 客户1->GCM->客户2 这可能吗?GCM设计用于从后端向设备发送通知,反之亦然。 因此,以下选项是可行的: 客户端1->后端->GCM->客户端2。(HTTP) 客户端1->GCM->后端->GCM->客户端2。(XMPP)在GCM中,发送方(通常是后端)需要有一个从开发者控制台获得的API密钥。此API密钥用于发送到GCM服务

这似乎是目前需要的:

客户端1->后端->GCM->客户端2

但我不确定在我不想存储任何数据的情况下,后端服务器会做什么。我只希望通过GCM实现客户对客户的交互:

客户1->GCM->客户2


这可能吗?

GCM设计用于从后端向设备发送通知,反之亦然。

因此,以下选项是可行的:

客户端1->后端->GCM->客户端2。(HTTP)

客户端1->GCM->后端->GCM->客户端2。(XMPP)

在GCM中,发送方(通常是后端)需要有一个从开发者控制台获得的API密钥。此API密钥用于发送到GCM服务器的每个HTTP请求,作为发送消息的授权形式

客户机需要使用发送方ID进行注册,发送方ID来自开发人员控制台上获取API密钥的同一项目。这将导致客户端向服务器/发送方发送注册令牌。此令牌用于将客户端设备与其他客户端设备区分开来

实际上,它的设置与您想要的有点类似:它同时充当发送方和接收方。这很容易,因为我们知道只有一个发送者和一个接收者。当有多个接收器时,困难就开始了。发件人需要跟踪其所有注册令牌。您需要通知每个新注册人的注册令牌的一个发送者(您需要在GCM之外进行发送-通常通过对服务器的POST调用进行发送,这在设备上是无法完成的)。如果发送方必须跟踪一千个令牌,它将需要自己保存这些令牌

请注意,上述场景仅适用于“单发送方多接收方/客户端”设置。如果您需要多个设备才能发送,则还需要让另一个设备跟踪其接收器的注册令牌。这大大增加了复杂性

至少,您实际上有数据要存储:将从发送方接收消息的设备的注册令牌。但是,发送方还需要跟踪响应(用于调试和监视目的)。话虽如此,从技术上讲,您可以让客户端设备充当服务器/后端,但这会给设备带来很多工作,而且很难维护。我强烈建议至少设置一个非常简单的服务器

希望这有帮助