使用 GCM 进行设备到设备的消息传递而无需注册应用程序服务器
Device to device messaging using GCM without registering an app server
设备是否可以使用 Google 云消息发送消息到其他设备,而无需应用服务器?
我有一个使用 Google Cloud Datastore 的集中式数据库。该应用程序将从中央数据库获取所需的注册 ID,并且该数据库由所有设备更新。因此,获取注册 ID 不是问题。
这可以使用上游消息传递来完成吗?我不确定,因为我已经搜索了很多但从未见过应用服务器未用于此目的的示例。
这个问题与另一个问题不重复,因为这里我有中央数据库来存储注册 ID,这在另一个问题中被提到是一个问题。
可以回答吗?是的。
前段时间我创建了一个 POC 来向自己发送 GCM 消息,所以我知道这很有可能。我将我的 GCM 配置为使用开发人员控制台中的任何 ip,即 0.0.0.0.
只需使用 HTTP post 从 android 发送消息,就像从服务器发送消息一样。
像(大多数)其他事物一样,有一个 API。
Google 在 GCM 连接服务器上托管其 GCM 服务。 The official document 要求您创建应用服务器以向连接服务器发出 API 请求。
或者,您可以将连接服务器设置为接受来自世界各地任何 IP 的请求,然后通过您的客户端应用发出请求。 The API is here 而且很简单。
安全问题
将您的 API 密钥与您的应用捆绑在一起,并将连接服务器设置为不受限制的连接是一个明显的主要安全问题。
何必呢?
为什么要费心做这一切?相反,我会使用像 Parse.com 这样的免费服务,它负责管理用户数据库并每月免费提供多达 1000000 条消息。
从最基本的意义上说不,现在不是。没有应用程序服务器,您无法将上游消息从一台设备发送到另一台设备。您可以在您的设备应用程序上创建一个应用程序服务器,但不推荐这样做。当前的建议是使用应用程序服务器来促进您的设备到设备的消息。
有没有人真的这样做过。我想查看示例 android 项目。
设备是否可以使用 Google 云消息发送消息到其他设备,而无需应用服务器?
我有一个使用 Google Cloud Datastore 的集中式数据库。该应用程序将从中央数据库获取所需的注册 ID,并且该数据库由所有设备更新。因此,获取注册 ID 不是问题。
这可以使用上游消息传递来完成吗?我不确定,因为我已经搜索了很多但从未见过应用服务器未用于此目的的示例。
这个问题与另一个问题不重复,因为这里我有中央数据库来存储注册 ID,这在另一个问题中被提到是一个问题。
可以回答吗?是的。
前段时间我创建了一个 POC 来向自己发送 GCM 消息,所以我知道这很有可能。我将我的 GCM 配置为使用开发人员控制台中的任何 ip,即 0.0.0.0.
只需使用 HTTP post 从 android 发送消息,就像从服务器发送消息一样。
像(大多数)其他事物一样,有一个 API。
Google 在 GCM 连接服务器上托管其 GCM 服务。 The official document 要求您创建应用服务器以向连接服务器发出 API 请求。
或者,您可以将连接服务器设置为接受来自世界各地任何 IP 的请求,然后通过您的客户端应用发出请求。 The API is here 而且很简单。
安全问题
将您的 API 密钥与您的应用捆绑在一起,并将连接服务器设置为不受限制的连接是一个明显的主要安全问题。
何必呢?
为什么要费心做这一切?相反,我会使用像 Parse.com 这样的免费服务,它负责管理用户数据库并每月免费提供多达 1000000 条消息。
从最基本的意义上说不,现在不是。没有应用程序服务器,您无法将上游消息从一台设备发送到另一台设备。您可以在您的设备应用程序上创建一个应用程序服务器,但不推荐这样做。当前的建议是使用应用程序服务器来促进您的设备到设备的消息。
有没有人真的这样做过。我想查看示例 android 项目。