免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3137 | 回复: 0

杰瑞教育原创:极光推送实现分组发送和服务端集成 [复制链接]

论坛徽章:
0
发表于 2015-01-08 15:51 |显示全部楼层
本帖最后由 qdjianghao 于 2015-01-08 15:56 编辑

推送功能在手机应用开发中越来越重要,几乎成为所有App必备的功能,由于Android本身没有消息推送机制,通常采用的是基于XMPP协议的推送,
但这种开发很麻烦,因此在市场上应运而生了提供消息推送服务的诸多产品,例如:百度云、个推、极光等。
极光推送正是一个整合了Android推送、iOS推送的统一推送服务平台。下面讲解一下如何使用极光实现消息推送应用,
并重点讲解一下如何实现向分组发送消息及推送服务端和自身应用集成,具体实现过程如下:
一、注册应用
1、首先进入官网首页www#jpush#cn,注册账号
2、注册应用
登录到用户平台,点击创建应用如图所示:
1.jpg
包名:创建应用项目的基础包
单击创建,产生应用信息如图所示:
2.jpg
产生AppKey和API主密码,每个客户端应用使用唯一一个AppKey
二、环境搭建
1、SDK下载
     官网资源地址:www#jpush#cn/downloads/sdk/android/  下载 JPUSH Android – SDK
2、导入 SDK 开发包
复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下
复制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目录下
3、配置 AndroidManifest.xml
     详细请参照官网docs#jpush#io/guideline/android_guide/#sdk文档中说明进行配置
4、集成完成后,JPush  提供的推送服务是默认就已经开启,这时客户端就可以接收到来自服务的消息了,可通过登录到JPush用户平台,发送通知测试集成是否成功
      如图所示:
3.jpg
如终端收到消息说明集成成功
三、Android端开发,实现向指定人群推送消息
集成成功之后,服务端发送消息会被所有的安装应用的客户端所接收,我们再继续看看
如何在应用中向指定的人群进行消息推送?
要指定向某一个特定的人,或者某一群特定的人,则相对复杂。因为对于 JPush 来说,某一个人就是一个注册ID,
这个注册ID与开发者App没有任何关系,或者说对开发者App是没有意义的。
如果要对开发者App有意义的某个特定的用户推送消息,则需要:把 JPush 注册用户与开发者App 用户绑定起来。我们可以使用别名与标签的功能
1、设置别名(alias)
为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。
每个用户只能指定一个别名。
同一个应用中,尽可能为每个客户端用户标识唯一名称,以便服务端能通过该名称来唯一确定用户。
111.png
222.png
2、设置标签(tag)
标签实质就是将应用客户根据应用的需要按类别进行分组,服务端可以组为单位
来批量下发 Push 消息,这样组内客户端所有用户都可以收到该消息。一个用户可以打多个标签,标签没有唯一性要求。
调用JPushInterface方法:
333.png
3、同时设置组和标签
也可调用JPushInterface的setAliasAndTags方法同时设置别名和标签,方法如下:
444.png
这样服务端可以以专业和班级为单位实现批量发送消息,也可以按学号向指定学生发消息
四、开发消息推送服务端:
一、环境搭建
1、  下载服务端SDK
       下载地址
       docs#jpush#cn/download/attachments/2228302/jpush-client-3.2.3.zip?version=2&modificationDate=1415166491000
2、  在项目中加入jar包
4.jpg
二、服务端实现步骤
1、创建JPushClient
JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3);
     参数说明:
     masterSecret:注册应用的主密码,即API 主密码
     appKey:注册应用的应用Key
     maxRetryTime:最大的尝试次数,设为3表示:跟服务器进行建立连接若失败会尝试再进行两次尝试
2、构建一个 PushPayload 对象(推送对象)
     确定推送消息的目标,包括推送的平台(Android、IOS)、消息内容和目标(所有人、别名、标签)
555.png


3、推送消息
PushResult result=jpushClient.sendPush(payload);
     向应用客户推送消息
     参数:payload 即第二步创建的推送对象
    返回值:PushResult 表示服务端推送结果
    包含下列数据:
    msg_id:返回推送消息的id
三、服务端代码实现:
    1、编写MessagePush组件封装消息推送方法
666.png


2、Jsp页面:
     主要是设计表单将数据提交给MessagePushServlet,这里页面代码就不附加了
6.jpg

3、编写Servlet

777.png

烟台杰瑞教育科技原创,转载请注明出处。原文请点击杰瑞教育博客园:www#cnblogs#com/jerehedu
由于URL限制,本文所有链接中的#请替换为.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP