谷歌云消息使用计算机

3

我不确定这个问题是否应该放在其他的 StackExchange 上,如果是的话,请告诉我。

我正在开发一款 Android 应用程序,想要使用 GCM。不幸的是,我没有可用于运行此应用程序的服务器。最好的选择是一个 GoDaddy 托管的 Web 服务器。因此,既然我认为在我的 Web 服务器上运行 GCM 是不可行的,我需要找到其他方法。所以,我的问题是:是否可能使用本地计算机而不是服务器来运行 GCM?这样,我就可以使用笔记本电脑而不是服务器。

此外,如果您知道如何使 GoDaddy 的托管与 GCM 兼容,那就更好了。GoDaddy 是一个共享 Web 托管账户,而不是 VPS 或专用服务器。

谢谢!

2个回答

3
是的,这是可能的。事实上,我正在使用 this GCM 发送程序来测试我的手机上的 GCM 客户端。我为像我这样的菜鸟编写了一个 GCM 客户端的抽象层 here。希望可以帮到你 :)。

哦!非常感谢!它们两个看起来都非常有用。我一定会更仔细地研究它们! - Globmont

2
是的,您可以通过GCM服务器从本地计算机向Android设备发送GCM消息。您只需要连接到互联网,然后向GCM HTTP端点发送HTTP请求即可。
但是,为了发送这样的消息,您需要知道应该接收消息的设备的注册ID。当设备向GCM注册时,应用程序会获得此ID。通常,一旦应用程序接收到此ID,它会将其传递给您的服务器。如果您将本地计算机用作服务器,则很难从应用程序将注册ID发送到服务器(尽管如果您在本地计算机上运行本地Web服务器,并且Android设备和计算机通过相同的网络连接到互联网,则可能能够执行此操作)。
当然,您始终可以手动复制注册ID并将其粘贴到发送GCM消息的代码中。

如果只需要一个简单的HTTP请求,那么我能通过PHP来实现吗?如果可以的话,那是否可以让我在不复制/粘贴注册ID的情况下使用我的GoDaddy共享Web托管服务来完成这个任务? - Globmont
另外,我注意到在GCM网站上说HTTP请求只允许下行,而我需要使用XMPP来进行上下行通信。如果我使用PHP,这个任务容易完成吗? - Globmont
@Globmont 我不知道 GoDaddy 允许什么或不允许什么。是的,你可以通过 PHP 完成 HTTP 请求。你还需要你的服务器实现一个服务,该服务接受来自你的应用的注册 ID,并将它们存储在数据库中。是的,HTTP 只用于下行。XMPP 的实现要复杂得多。我从未尝试过 XMPP,所以无法对其发表太多评论。 - Eran
好的,谢谢。我想我会使用GCM将数据从我的服务器发送到Android设备,然后从Android设备发出POST请求回到我的服务器以发送数据。谢谢! - Globmont

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接