JAVA如何实现APP推送后台


目前需要实现一套推送机制,进行广告的管理,设置播放规则,不过现在没有个具体的思路,希望有朋友能提供下一个案例进行一个参考。

@alimuya

--
@alimuya
--广告策略发布管理:
--包含广告策略的增加、删除、编辑功能;
--每一条广告策略包含广告的发布对象(公司、部门、个人)、广告内容、时间策略(例如从9月10号开始,每天9-18点);
--两条广告策略冲突时,以更精确的优先,比如公司发布广告一,部门A发布广告二,那么结果就是部门A发布了广告二,除A之外的全都发布广告一;
--广告策略增加或修改后自动发布,各终端根据新的广告策略下载广告内容文件,下载完成并且满足新的广告策略的发布时间要求就立即开始播放新广告,这之前还继续放老广告;
--可以有个发布进度,能看到每条广告策略已经应用到了多少台终端,最好能显示本条广告策略对应的终端总数/在线终端数/发布成功终端数;

create table tb_advertise(
id serial NOT NULL,
name character varying(50) NOT NULL,
compid integer NOT NULL, -- 企业id
create_time timestamp NOT NULL,
play_time character varying(50) NOT NULL, -- 广告时长
)
-- 广告内容
create table tb_meter_content(
advertise_id integer NOT NULL,
meter_id integer NOT NULL,
play_time integer NOT NULL,
order integer NOT NULL -- 播放次序 0-XX
)

-- 广告策略发布
create table tb_adver_release(
id serial NOT NULL,
advertise_id integer NOT NULL, -- 发布内容
play_date timestamp NOT NULL, -- 播放日期
play_time character varying(250) NOT NULL, -- 播放时间 xx:yy:ss - xx:yy:ss
release_type integer NOT NULL, -- 发布对象类型 1.企业 2.部门 3.个人
release_id integer NOT NULL, -- 发布对象ID
compid integer NOT NULL, -- 企业id
create_time timestamp NOT NULL,
)
初步做了一个结构设计。

java Android

JolBall 8 years, 10 months ago

最简单的 客户端主动去后台请求就行了
后台消息池,app用最后一条消息的时间+设备id去查询有没有新消息

sukarp answered 8 years, 10 months ago

  1. 客户端以定时形式或者事件触发形式主动请求推送服务. 获取推送更新消息.
  2. 可能需要一个辅助性的协议,用来控制"是否获取推送消息",以及获取触发事件,获取时间间隔. 当然也可以不需要,主要评估你的用户量级以及服务器负载压力
  3. 至于配置消息, 获取并下载推送内容,这事情简单, 再次略过.
  4. 推送规则是最复杂,业务变动最大,含金量最高的部分. 这部分不知道弄死过多少个英雄少年.只能说下思路: 如果规则不复杂,而且相对静态的话, 可以对推送内容或者对用户本身使用正则表达式. 如果实在复杂, 那么就要考虑分层,一部分是确保无害的规则. 一部分是确保有益的规则.无害规则相对严谨,死板, 可以沿用正则,或者决策树模型. 有益规则那就复杂了...就要看你的数据建模功底了. 可以参靠看看内容推荐的很多开源案例或者数据挖掘书籍
MISSYO answered 8 years, 10 months ago

Your Answer