Android 将管理员通知传递给客户
我正在开发一款Android应用程序。将有两种类型的用户-管理员和客户端。我只是想让管理员发布一些纯文本的通知,然后这些将通知客户。问题是,我应该使用什么来将通知从管理员转移到客户端。我在某个地方读到,借助谷歌应用程序引擎和谷歌云消息(GCM)是可能的,但使用谷歌应用程序引擎是非常复杂的。有更好的选择吗?您可以使用Android 将管理员通知传递给客户,android,Android,我正在开发一款Android应用程序。将有两种类型的用户-管理员和客户端。我只是想让管理员发布一些纯文本的通知,然后这些将通知客户。问题是,我应该使用什么来将通知从管理员转移到客户端。我在某个地方读到,借助谷歌应用程序引擎和谷歌云消息(GCM)是可能的,但使用谷歌应用程序引擎是非常复杂的。有更好的选择吗?您可以使用AmazonS3服务。请点击此处了解更多信息:如果您阅读以下内容,谷歌应用程序引擎非常简单 您必须安装maven:先学习如何操作,然后阅读谷歌指南,再在pom.xml中剪切粘贴,以及3
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次,我可以考虑客户端已断开连接)
- 实施集中的“板”。通过这种方法,客户机将连接到一个集中的公告板(例如,一个
站点),比如每30秒进行一次轮询,并只显示新消息。这样,您就需要控制已经显示的消息,并且只显示新消息。这种方法的缺点是,一开始任何人都需要访问它(即使他们没有使用你的应用程序),但你可以实施一些额外的安全措施来避免它(例如,只允许已注册的客户端向远程服务器发送HTTP
),否则,将其重定向到错误页面或返回HTTP POST
430禁止的
错误
GCM
(这比您可能想象的要容易),我在一段时间前写了一个答案,总结了一个分步指导如何实现它
我不知道从哪里开始。我还没有做任何服务器端编程,请你指导我从哪里开始。Go是比Java更好的选择吗?你使用Java开发应用程序,对吗?所以在任何地方都可以使用它:虽然你可以用python或php编写你的后端(但我还没有测试),但我还没有使用servlet或任何类型的服务器端编程。。我应该从哪里开始?我已经用一个例子编辑了我的文章。阅读指南:都是为dummy编写的,而且如果您没有服务器站点方面的经验,那么很容易理解:试试吧。