将通知从管理员传递给客户

时间:2013-05-03 17:24:04

标签: android

我正在使用Android应用。将有两种类型的用户 - 管理员和客户端。我只想让管理员在纯文本中发布一些通知,然后将通知客户。问题是,我应该使用什么来将通知从管理员转移到客户端。我在某处看到了谷歌应用引擎和谷歌云消息传递(GCM)的帮助,但与谷歌应用引擎合作非常复杂。我有什么更好的选择吗?

5 个答案:

答案 0 :(得分:2)

Google应用引擎非常适合您的要求,因为GCM推送通知需要某种服务器。您也可以尝试探索Parse SDK。

答案 1 :(得分:1)

您可以使用Amazon S3服务。请访问此处获取更多信息:http://aws.amazon.com/s3/

答案 2 :(得分:1)

如果您阅读step-by-step guide

,Google App Engine非常简单

您必须安装maven:fallow this HOW TO,然后阅读Google指南,并在pom.xml和3个课程中剪切并粘贴#&# 39;能够在4小时内编写一些REST Web服务!

几周前我已经完成了这个,复杂的事情就是为自动用户身份验证生成O-AUTH id! 最后,您还可以生成e瘦Android客户端以使用您的服务!

如果你了解java,那么这一切都很简单!

这是一个带有应用引擎的简单网络服务:

@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);
    }
}

答案 3 :(得分:1)

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

如果您不想使用此功能,我会想到其他几种可能性(但正如我所说,最后他们效仿GCM的行为):

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

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

如果您最终想尝试GCM(这比您想象的更容易),我前一段时间写了一个答案,总结了一步一步的指导如何实施它

答案 4 :(得分:1)

如果只是,您担心的是您不想沉迷于服务器端编程并且仍希望在应用程序中接收一些字符串作为推送通知,您可以尝试探索这个:

http://framework.realtime.co/messaging/#android