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

Android 将管理员通知传递给客户,android,Android,我正在开发一款Android应用程序。将有两种类型的用户-管理员和客户端。我只是想让管理员发布一些纯文本的通知,然后这些将通知客户。问题是,我应该使用什么来将通知从管理员转移到客户端。我在某个地方读到,借助谷歌应用程序引擎和谷歌云消息(GCM)是可能的,但使用谷歌应用程序引擎是非常复杂的。有更好的选择吗?您可以使用AmazonS3服务。请点击此处了解更多信息:如果您阅读以下内容,谷歌应用程序引擎非常简单 您必须安装maven:先学习如何操作,然后阅读谷歌指南,再在pom.xml中剪切粘贴,以及3

我正在开发一款Android应用程序。将有两种类型的用户-管理员和客户端。我只是想让管理员发布一些纯文本的通知,然后这些将通知客户。问题是,我应该使用什么来将通知从管理员转移到客户端。我在某个地方读到,借助谷歌应用程序引擎和谷歌云消息(GCM)是可能的,但使用谷歌应用程序引擎是非常复杂的。有更好的选择吗?

您可以使用
AmazonS3
服务。请点击此处了解更多信息:

如果您阅读以下内容,谷歌应用程序引擎非常简单

您必须安装
maven
:先学习如何操作,然后阅读谷歌指南,再在
pom.xml
中剪切粘贴,以及3个类,您将能够在4小时内编写一些REST web服务

我在几周前做过这件事,最复杂的事情是为自动用户身份验证生成O-AUTH id! 最后,您还可以生成e瘦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);
    }
}
@Api(
name=“helloworld”,
version=“v1”,
scopes={Constants.EMAIL_SCOPE},
clientId={Constants.WEB_CLIENT_ID,Constants.ANDROID_CLIENT_ID,Constants.API_EXPLORER_CLIENT_ID},
观众={Constants.ANDROID_观众}
)
公开课问候语{
public static ArrayList greetings=new ArrayList();
静止的{
问候。添加(新HelloGreeting(“再见世界”);
问候。添加(新HelloGreeting(“addio world!”);
}
公共HelloGreeting getGreeting(@Named(“id”)整数id){
回敬问候。获取(id);
}
}

我认为您的最佳选择确实是
谷歌云消息
。请记住,您实现的任何东西都必须与它非常相似,那么为什么要重新发明轮子呢

如果您不想使用此功能,我会想到一些其他的可能性(不过,正如我所说,它们最终模拟了
GCM
的行为):

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

  • 实施集中的“板”。通过这种方法,客户机将连接到一个集中的公告板(例如,一个
    HTTP
    站点),比如每30秒进行一次轮询,并只显示新消息。这样,您就需要控制已经显示的消息,并且只显示新消息。这种方法的缺点是,一开始任何人都需要访问它(即使他们没有使用你的应用程序),但你可以实施一些额外的安全措施来避免它(例如,只允许已注册的客户端向远程服务器发送
    HTTP POST
    ),否则,将其重定向到错误页面或返回
    430禁止的
    错误

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


由于GCM推送通知需要某种服务器,谷歌应用程序引擎非常适合您的要求。作为替代方案,您也可以尝试探索Parse SDK。

如果您不想沉迷于服务器端编程,仍然希望在应用程序中接收一些字符串作为推送通知,您可以尝试探索以下内容:


我不知道从哪里开始。我还没有做任何服务器端编程,请你指导我从哪里开始。Go是比Java更好的选择吗?你使用Java开发应用程序,对吗?所以在任何地方都可以使用它:虽然你可以用python或php编写你的后端(但我还没有测试),但我还没有使用servlet或任何类型的服务器端编程。。我应该从哪里开始?我已经用一个例子编辑了我的文章。阅读指南:都是为dummy编写的,而且如果您没有服务器站点方面的经验,那么很容易理解:试试吧。