android实现主动推送小结
来源:互联网 发布:dsp广告系统架构php 编辑:程序博客网 时间:2024/05/17 04:41
推送功能,大致能用其实就这么两种,一种pull和一种push:
所谓pull就是客户端做论询,定期从服务端指定接口获取数据
而push就是目前较主流的,服务端主动推数据到客户端(IOS实现起来很简单)
而实现方式呢,能用其实就几种
1,MQTT(IBM的一套轻量订阅)
2,http长连接(使用keep-alive技术,http1.0 需要添加此字段 http1.1默认是开启的)
3, AndroidPn(开源框架都有)
我目前只跑通了 mqtt 和 androidPn 对于http长连接个人不建议用,我也没有去尝试
一,MQTT小结一下
参考下面链接:
构建Android Push Notification Service服务端及客户端[含代码] (MQTT及php的)
http://blog.csdn.net/huzhangyou/article/details/7314988
没有做过验证,到底可以支持多少用户在线,想过一种方式,服务端做处理,监听在线用户量,当达到极限时,退出一部分在线用户,比如让其sleep 10分钟(通知方式呢,可以以通知的方式指定字段告诉客户端),,,以减少服务端压力
另外MQTT其实已经是socket长连接了,只是维护工作放到了客户端来做,断线重连等(早知道有现成的当初就不自己写套socket维护机制了)
然后,说下推送方式,抓到了调用了地址
http://apache服务器地址/androidpushservice/send_mqtt.php?target=tokudu%2F设备ID&message=内容
替换红色的字段就可以实现调用一个地址推送数据了,,
另外如果要做群发,,没想到怎么做好,可以服务端做异步对列么?留给大家讨论下
二,AndroidPn小结
参考资料
Android Push Notification实现信息推送使用
http://www.cnblogs.com/hanyonglu/archive/2012/03/16/2399655.html
推送数据到指定设备上
http://配置的服务器地址/notification.do?action=send&broadcast=N&username=设备名&title=提醒&message=内容&uri=动作
推送数据到所有在线设备上
http://配置的服务器地址/notification.do?action=send&broadcast=Y&username=&title=提醒&message=内容&uri=动作
最后说下,根据项目需求,可能还需要做是否收到提醒的反馈?是否要发送到指定部分用户群中,,因此比较后,建议使用AndroidPn因为服务端可编辑的多,
安装方式都不难
MQTT:windows 或 linux 需安装mosquitto,,它会监听1833端口,,客户端会通过wmqtt与服务器的1833端口挂上连接(目前服务端只看到有一套php的运行环境)AndroidPn : windows和linux都能一键运行(需求复杂的话可编辑源码重新生成部署),安装后,会监听7070端口和5222端口 客户端会通过asmack去连接服务端的5222端口
- android实现主动推送小结
- android实现主动推送小结
- 怎么实现服务器给android客户端主动推送消息
- 如何实现服务器给android客户端主动推送消息
- android 主动推送技术分享
- ZK Server Push实现数据主动推送
- WebSocket实现主动推送交互【编辑中】
- 服务器主动向android手机端推送消息---------Linux下实现
- Android服务器主动推送之百度云推送
- C#实现百度站长工具的主动推送功能
- Redmine中消息主动推送的实现方法
- spring集成mina,包含心跳检测,实现服务端主动推送
- php实现微信公众号主动推送消息
- 服务器主动向客户端推送消息-java之comet4j实现
- php实现微信公众号主动推送消息
- 服务器主动向android手机端推送消息
- 基于SuperSocket的IIS主动推送消息给android客户端
- 服务器端主动推送PUSH
- 构建Android Push Notification Service服务端及客户端[含代码]
- UIView中的drawRect方法
- awk 正则表达式、正则运算符详细介绍
- jquery ajax load
- FCLK/HCLK/PCLK的配置
- android实现主动推送小结
- shell中awk详解 (模式提取)
- FZOJ2102:Solve equation
- 简单的题目3
- cursor_sharing 参数
- 解析DirectShow SDK提供的播放器例子源码PlayWnd
- HDU 4651 Partition
- linux 下 reboot和init 6的区别
- Express之初体验