C2DM" app server"选项

时间:2011-11-24 00:09:49

标签: android android-c2dm

这是我一周前问过的一个问题的编辑。

我正在开发一款Android应用程序,该应用程序可与用户的家用PC通信,以控制在PC上运行的某些第三方PVR软件。该模型如下......

  

Android应用< - wifi / 3g - > Windows服务< - localhost - > 第三方PVR软件

Windows服务由我(C#.NET)编写,充当Android应用程序和PVR软件之间的代理。

我想做的是使用C2DM来通知用户各种事情 - 例如,如果一个家庭成员设置电视节目进行录制,将C2DM消息发送给其他家庭成员的设备,这样每个人都可以日期。

我现在似乎有3种可能的选择,如何继续。 Windows服务是系统中的关键参与者因此参与其中,但我不知道最佳方法是什么。

  1. 将Windows服务用作C2DM第三方应用服务器。缺点 - 我需要将我的C2DM凭证嵌入到软件中,全球有可能有100台服务器请求身份验证令牌(不确定谷歌是否允许这样做)。

  2. 我有一个托管的Web服务器我可以使用它允许PHP / MySQL。 Windows Server只是作为一个中继,但我的PHP经验很少,我找不到任何全面的C2DM示例。

  3. 使用Google App Engine(再次使用Windows服务作为中继)。问题是我不知道谷歌是否对GAE被用作C2DM应用服务器感到满意,尽管我已经看过一些提及它。

  4. 我基本上是谷歌,直到我的头疼,并继续回到相同的教程和部分代码示例。我知道C2DM是如何工作的,并且实际上选项1在我的开发环境中工作,但它似乎不适合上市。

    所以(尽量保持我的问题尽可能客观)...根据选项1不是一个好主意的原则,是否有适合C2DM应用服务器的相当全面的PHP示例,或者,任何人都明确知道GAE是否可以接受?

1 个答案:

答案 0 :(得分:2)

使用C2DM,您可以定位消息所在的设备。因此,在您的示例中,设置电视节目的人会向Windows服务发送一条消息,通知其他每个用户。 您可以使用1个C2DM服务器

来实现

更新

我应该选择第3台服务器。但我能告诉你的不确定结构。现在共享GAE后来也许终于ec2了。你可以做的是创建一个指向所选服务器的CNAME。(硬编码较少)。我不认为GAE不能用于C2DM。这是一个带有http请求的简单服务器。