android消息推送怎么实现?,第1张

极光推送可以轻松实现android消息推送。具有操作步骤如下:

1、到极光官网注册账号:https://wwwjpushcn/

2、创建应用,按照要求填写你的应用名称,包名提交

3、下载案例,一般情况测试是能收到信息的

4、集成到自己的项目中,按照官网的集成http://docsjpushcn/pages/viewpageactionpageId=557214

5、集成时将注意的要点,官网上也有说,但是我再强调一下要注意两个权限的包名填写,有可能直接用案例上的拷贝到自己的manifest中时没有替换掉包名,切记,要替换成自己的项目的包名。

极光推送已经覆盖了近10亿Android、IOS终端,30多万款APP应用,服务总用户数超过30亿,每天消息推送量达5亿多条,已成为移动应用数据平台。极光分享帮助应用具备国内主流社交平台分享功能,提供新浪微博、QQ、微信等第三方社会化分享服务,提高产品推广效率,帮助产品提高用户体验,获得更多用户。

  先说原理。

iOS 的推送:就是 Apple 官方的 APNs (Apple Push Notification service)。

Android 的推送:Google 官方的是 GCM (Google Cloud Messaging)。

本质上,APNs 与 GCM 是类似的技术实现原理:即系统层有一个常驻的 TCP 长连接,一直保持的长连接,即使手机休眠的时候也在保持的长连接。

这里对于大部分人来说,最不理解的就是,休眠时候都保持在那里的 TCP 长连接,不会耗电很厉害么?

答案是:不会。这是手机的设计来做到的。TCP长连接有个心跳的时间,在国外可以很长比如30分钟,在国内则因为网络环境复杂一般10分钟。客户端发起的心跳,会短暂地消耗手机电能,但在这个心跳间隔期间,则消耗电能是很少的。当在心跳期间服务器端有推送信息过来时,客户端可以收到并做处理。

这里有篇文章以 Android 为例做原理解释:http://blogjpushcn/indexphp/jpush_wireless_push_principle/

再说 APNs 的设计成功处。

iOS 为了真正地为用户体验负责,不允许应用在后台活动。有了这个限制,但是对于终端设备,应用又是有必要“通知”到达用户的,随时与用户主动沟通起来的(典型的如聊天应用)。

这就是 APNs 的逻辑所在:iOS 自己做个长驻后台保持连接。所有应用,有必要(申请)并且被允许(用户可以改设置)的话,可以通过 APNs 中转到达用户。

这样就完善了!

有可能很多人没有真正地体会到 iOS 不允许后台应用的好处。我是 Android 开发人员,Android 手机上一般只保留几个常用的应用,不常用就卸载。但是我的 iPhone / iPad 上则是,除非空间不足,一般不会删除应用。

Android 就像 Windows,你要真的很费心去维护:有软件在干背后干坏事么?设备又给拖慢了,要清理。要考虑杀毒了。。。

Android 因为后台可以长驻,尤其是国内的 Android 的手机上 Google自家的推送服务 GCM 处于基本不可用的状态。所以,各App各显神通。聊天类应用的话,大多数直接借用 XMPP 规范里的一些成果。少量如微信有IM底子的,自己开发协议。这些在实现原理上与 APNs / GCM 没有本质的区别,但有一定的技术门槛。而大多数普遍应用,要使用推送的话,则使用轮询的方式简单实现。

其实,国外如 Urban Airship 自己实现了 Android 上的第三方提供的推送平台。近期国内如极光推送也实现了第三方的推送平台(技术与微信、GCM、APNs类似)。理论上,如果一个 Android 设备上多款应用都使用极光推送这种第三方推送平台的话,也可以如 APNs 一样达到节省电量、流量消耗的效果。

ios可以使用socket,但是要想做到远程推送可能还是需要apns机制,因为应用退到后台的时候只有apns能处理苹果服务器推送来的消息。iOS使用Socket的常用方式有如下: (1)BSD Socket:是UNIX系统中通用的网络接口,基于C语言,比较底层

(2)CF Socket:苹果官方提供,来自于CoreFoundation框架

(3)AsyncSocket:对BSD Socket的封装,OC语言

(4)ysocket:对BSD Socket的封装,Swift语言

SOCKET原理:套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。是网络通信过程中端点的抽象表示,包含进行。

建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket,另一个运行于服务器端,称为ServerSocket。建立连接时所需的寻址信息为IP地址和端口号。

进行远程消息推送可以了解一下极光,极光就挺不错的。JPush iOS 推送相比直接向 APNs 推送减少开发及维护成本:应用开发者不需要去开发维护自己的推送服务器与 APNs 对接。集成了 JPush iOS SDK 后不必自己维护更新 device token。

通过 JPush 的 Web Portal 直接推送,也可以调用 JPush 的 HTTP 协议 API 来完成,开发工作量大大减少。

陈宇达1 肖建红2

(1中国地质调查局武汉地质调查中心;2湖北省地质环境总站)

摘要 Android 平台为社会各界带来了深远影响,地质资料服务也不例外。本文重点介绍了基于 Android的地质资料移动服务系统的设计思路、总体架构、应用程序设计的关键技术,该系统可以为用户提供地质资料浏览、查询、检索、预约及信息推送等服务,为地质资料服务提供了一种新渠道、新手段。

关键词 Android 地质资料 服务模式 信息推送

0 前言

近年来,相对于电视、广播、互联网等信息传播方式,智能手机和平板电脑产业的崛起满足了人们对获取信息的强烈需求,特别是智能手机作为一种十分重要的通信工具,功能越来越强大,凭借其能随时随地获取和处理信息的强大优势,逐渐成为人们获取信息的一种重要手段。由于智能手机和平板电脑的迅猛发展,相关的操作系统也越来越被重视,以前的手机系统多半都是由各大手机厂商自主进行研发,并且都是封闭式的系统,例如塞班公司的 Symbian 智能系统,微软的 Windows Mobile 操作系统等。然而,自从 Google 公司发布 Android 智能操作系统以来,Android 作为 Google 开发的一种基于 Linux 平台的开源手机操作系统,它包括了操作系统、用户界面和应用程序三大部分。作为一个开源的操作系统,Android不存在以往阻碍移动产业创新的专有权障碍,因此,日益受到各大移动设备生产商的青睐。同时,由于Android 系统拥有良好的开放性和易用性等特点,其在智能手机领域中扮演的角色越来越重要。

智能手机和平板电脑引领的移动互联网不仅改变了人们的生活方式,甚至对人们的工作方式也产生了巨大的影响。如何在移动终端开发出功能强大、界面美观且操作简易的应用程序成为新的研究热点。因此,本文提出并实现了一种基于Android 平台的地质资料服务系统。该Android平台的地质资料服务系统主要任务是探索和研究移动平台下地质资料在线服务方面的适用性应用研究,实现馆藏地质资料的在线检索、浏览、预定以及信息推送等功能,为地质调查资料信息服务Android移动平台的实施提供解决方案和应用策略。

1 系统总体架构

该系统架构以Android平台为基础搭建3层系统结构,选择客户端/服务器模式(图1)。

图1 系统架构

客户端:负责与用户的交互,将用户的请求发送给后台服务器,这里指的是Android系统的智能手机和服务器端管理程序。

服务器:负责接收客户端的请求并对请求做出响应,发送至客户端。

数据库:存储案卷级和文件级地质文档数据信息、用户个人资料信息等。

这种设计的优点:首先,客户端不需要进行大量的计算和数据存储,降低了客户端的实现难度和对硬件的要求;其次,采取统一的通信协议和文件格式,可以实现与不同平台的客户端对接;最后,服务器端直接与数据库连接,保证了数据的安全性和一致性。

11 PC 客户端

C/S即客户机(Client)和服务器(Server)结构。基于此模式的体系结构把完整的应用程序分布到客户端和服务器中。表示层与应用逻辑层被分布到客户机上,数据资源层被分布到服务器中。在C/S模式中,客户机端不但会提供用户界面还会运行逻辑处理程序;服务器端将提供后台数据库,用来存储整个系统的相关数据。用户可以通过客户机端向服务器端发出指令,服务器端则根据接收的指令提取相关的数据,并发送到客户端;然后用户对刚接收到的数据进行修改、添加、删除等维护操作,用户还可以选择是否将维护的结果写回服务器端。如果双方数据交互量很大,会造成网络拥塞,所以在C/S模式下通常先利用后台数据库存储过程对数据处理后再将结果发往客户端的方法来降低网络流量。C/S模式的优点在于结构简单、速度快捷。

PC客户端主要实现对用户信息、预定信息、推送信息等信息的浏览和查询。实现对用户注册的审批、预定资料的审核以及馆藏等相应信息的集体推送。其中,推送功能利用第三方JPUSH来实现(图2)。

图2 PC客户端功能

12 Android 客户端

Android客户端应用软件使用Java技术,基于Android SDK和JAVA Eclipse等开发工具实现模块的开发。在网络服务方而,Android访问网络的实现方法有很多,例如Web Service、Http、直接使用Web View浏览器。Android集成了Apache的Http Client模块,这样使得使用Http访问网络成为可能。因此,服务器与客户端的数据交互采用网络通信技术即使用Http通信协议。中间Web服务器采用Servlet响应客户清求,后台数据库采用JDBC访问数据库及DAO模式操作数据库。Web服务器采用开源的Tomcat,数据库采用SQL Server 2008。

利用Web Service作为Android客户端与数据库中间件(图3),对Android客户端提交的业务请求,在Web Service进行处理后,将结果返回给客户端,大大提高了程序的运行速度和数据安全。

图3 Web Service功能

客户端的目标是让用户体验地质资料服务的功能(图4),在客户端实现诸服务,如法规、最新资料等的浏览、查询和检索操作。

图4 Android客户端功能

13 服务器端

服务器端主要负责数据的存储以及相关逻辑控制。数据层采用统一的数据库存放地质资料信息,便于管理与定义,并凭借SQL Server的强大空间数据处理能力实现地质数据高效的查询、检索功能。

利用GeoService服务器端组件,读取SQL数据库视图和表,用图表模式将地质资料返回给客户端,建立了高性能的地质资料应用服务。

2 系统主要功能

本系统主要提供的功能是:在Android客户端上,用户可以进行注册登录、检索查询、预定信息、查看相关法律法规,并对客户端进行个性设置;推送管理员在登陆推送服务器后,可以向指定的用户推送定制信息,可以推送地质资料数据,并可以提示用户进行客户端版本升级等相关内容;数据库管理员可以对用户信息、地质资料信息、用户推送请求、设备列表信息进行管理。

地质文档检索采用二级检索方式,通过输入资料名称、档案号、形成机构、形成日期、汇交人等5个关键字进行地质资料检索。

检索后的结果为案卷级信息,可以浏览文件档号和测绘单位以及地图比例尺。对选中的案卷级信息可以展开浏览其文件级信息,用户可就感兴趣的文件进行在线订阅。若该文件已被其他用户订阅,只能在管理员对相关数据信息修改后方可再次订阅文件。

用户可以在线浏览武汉地质调查中心地质科技档案资料借阅暂行规定和武汉地质调查中心地质科技档案、资料管理暂行办法等相关法律法规文件。

用户在客户端提交订阅请求后,管理员可以对订阅的信息进行查看,并对订阅的信息进行审核,可以通过审核或拒绝审核,并可以在通过审核选项卡中删除订阅记录。

客户提交预约信息之后,管理员可以对请求进行审核,审核通过的请求将会被推送到客户端,审核部通过的请求,将会被拒绝,此时客户端不会被提醒。

管理员登录服务器管理软件后,可以查看提交推送请求的用户名和设备ID,并可以按下按钮打开JPush推送页面,对客户端进行数据推送。

登陆JPush之后,可以在网页上定制推送内容,向所有用户发送推送内容。

3 结语

该基于Android的地质资料移动服务系统实现了用户注册登录、检索查询、阅读相关法律法规、订阅信息等功能,并实现了后台服务器端对用户信息、预定信息、推送信息的功能服务,人性化的双通道的服务完善了地质资料服务系统功能,建立了高性能的地质资料应用服务。该系统的广泛应用,可以提升用户查询借阅地质资料的效率,提高地质资料馆藏机构服务社会的智能化水平。

ios开发实现app的消息推送步骤:

1、IOS应用需要去注册APNS消息推送功能。

2、当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)

3、将应用收到的device Token传给你本地的Push服务器。

4、当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服

5、APNS再将消息推送给目的iphone

JPush 是经过考验的大规模 APP 推送平台,每天推送消息数超过 5 亿条。开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 Web 端控制台发送通知,统计分析推送效果。JPush 全面支持 Android, iOS, Winphone 三大手机平台。同时支持的 iOS 版本为 60 及以上版本。支持 iOS 版本为 100 以上的版本。

可以查询,极光推送,别名推送,可以点对点通讯。使用别名,用于给某特定用户推送消息。例如,注册帐号完成后,可以用别名推送的方式,把账户名当作别名推送给极光服务器,然后,服务器请求一下极光服务器发一条极光推送。

APP发送给极光的别名和服务器请求的别名一定要一致。由于网络连接不稳定的原因,有一定的概率 JPush SDK 设置别名会失败。所以要合理的处置失败,用极光的回调函数。遇到 6002 超时,则稍延迟重试。

极光推送搭建起一个高度稳定、可扩展的云端架构,极大地帮助移动应用开发者节约开发和维护的成本,轻松实现毫秒级的精准推送。极光推送已经覆盖了近10亿Android、IOS终端,30多万款APP应用,服务总用户数超过30亿,每天消息推送量达5亿多条,已成为移动应用数据平台。

前台可以设置一个setinterval,定期发送ajax监听后台,也可以用HTML5的websocket,html5的方式比较新,消息比较短,适合做聊天系统。

在WebSocket API中,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。

webSocket是html5新引入的技术,允许后台随时向前端发送文本或者二进制消息,WebSocket是一种全新的协议,不属于http无状态协议,协议名为“ws”,这意味着一个websocket连接地址会是这样的写法

WebSocket是为解决客户端与服务端实时通信而产生的技术。其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,此后服务端与客户端通过此TCP连接进行实时通信。

消息推送选择极光。JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。

因为安卓系统无法实现服务器端的统一发送,因此在送达率上会有一定的缺陷,目前常用的解决方法是采用第三方消息推送工具,例如极光推送,3 分钟快速集成推送 SDK, 推送毫秒级到达,极光推送是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » android消息推送怎么实现?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情