2013-05-03 159 views
5

我正在开发Android应用程序。将有两种类型的用户 - 管理员和客户端。我只是想让Admin以明文形式发布一些通知,然后通知客户。问题是,我应该使用什么来将通知从管理员传输到客户端。我在Google App Engine和Google Cloud Messaging(GCM)的帮助下阅读过某些地方,但使用Google App Engine非常复杂。有没有更好的选择,我可以使用?将管理员通知给客户端

回答

1

您可以使用Amazon S3服务。去这里获取更多信息:http://aws.amazon.com/s3/

+0

我不知道从哪里开始。我还没有做过任何服务器端编程,请你指导我从哪里开始。 – 2014-04-16 07:46:31

1

如果您阅读step-by-step guide,Google App Engine非常简单。

您必须安装maven:休耕this HOW TO然后阅读谷歌的指导,并与一些切割和在pom.xml粘贴,你就可以在4小时内写一些REST Web服务3个班!

我已经在几个星期前完成了这项工作,并且复杂的事情是生成用于自动用户验证的O-AUTH ID! 最后,您还可以生成瘦瘦的Android客户端来使用您的服务!

如果你知道java,这一切都会很简单!

这是App Engine的一个简单的Web服务:

@Api(
    name = "helloworld", 
    version = "v1", 
    scopes = {Constants.EMAIL_SCOPE}, 
    clientIds = {Constants.WEB_CLIENT_ID, Constants.ANDROID_CLIENT_ID, Constants.API_EXPLORER_CLIENT_ID}, 
    audiences = {Constants.ANDROID_AUDIENCE} 
) 
public class Greetings { 
    public static ArrayList<HelloGreeting> greetings = new ArrayList<HelloGreeting>(); 

    static { 
     greetings.add(new HelloGreeting("ciao world!")); 
     greetings.add(new HelloGreeting("addio world!")); 
    } 

    public HelloGreeting getGreeting(@Named("id") Integer id) { 
     return greetings.get(id); 
    } 
} 
+0

是比Java更好的选择吗? – 2014-04-16 08:04:08

+0

你正在使用Java的应用程序权利?所以在任何地方使用它:D Althoug你可以用python或php写你的后端(但我没有测试过) – 2014-04-16 08:05:14

+0

但我没有用过Servlets或任何类型的服务器端编程..我应该从哪里开始? – 2014-04-16 08:07:11

1

我觉得你最好的选择确实是Google Cloud Messages。请记住,您实施的任何内容都必须非常相似,那么为什么要重新发明轮子?

如果你不想使用此,有一对夫妇的浮现在我的脑海里其他的可能性(虽然,正如我所说的,最后他们效仿GCM的行为):

  • 实施一个Socket在客户端收听。这样,您首先需要确保每个连接的客户端需要以某种方式(例如,HTTP POST请求)发送一些信号和IP地址,因为您需要知道连接的位置。这样,每次您要发送通知时都需要连接到每个设备,通过Socket发送消息并处理超时(例如,如果我尝试发送消息并且连接被拒绝了X次,我可以考虑,因为客户已断开连接)。

  • 实施集中式“董事会”。通过这种方式,客户可以连接到集中式通知板(例如HTTP站点),每30秒轮询一次,并显示新消息。这样你就需要保持对已经显示的消息的控制,并显示新的消息。这种方法的缺点是,最初它需要任何人都可以访问(即使他们不使用你的应用程序),但你可以实施一些额外的安全措施来避免它(例如,只允许已注册的客户端发送HTTP POST到远程服务器),否则将它们重定向到错误页面或返回430 Forbidden错误。

如果你最后想给一个尝试GCM(这是比较容易比你想象),我写了一个汇总到一个一步一步的指导,如何实施该怎么回答的时候前。

2

谷歌应用程序引擎是完美的GCM推送通知的要求,需要某种形式的服务器。对于另一种选择,您也可以尝试探索Parse SDK。

相关问题