JPush手机APP推送简单总结-极光

最近做了个app的推送用到了极光的推送简单的梳理了下,琢磨了一下以下纯属猜想,我们在极光上面注册应用后会生成我们app的appkey和密码,用来唯一标示我们的应用,app端导入sdk后,当用户登入会给该用户绑定上别名或者分组,当通过调用他们的接口相当于把这些信息组成的数据存放到数据库中,当服务器端通过接口推送消息时,会检索该应用下所属组或者是别名的用户,要是存在极光端的服务器便会给登入中的用户推送消息。。呵呵纯属虚构


以下内容借用 “APP开发推送实现分组发送和服务端集成(杰瑞教育原创).docx”

一、注册应用


创建应用项目的基础包,单击创建,产生应用信息如图所示:


产生AppKey和API主密码,每个客户端应用使用唯一一个AppKey



二、app端环境搭建

1.SDK下载

   官网资源地址: https://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

    详细请参照官网http://docs.jpush.io/guideline/android_guide/#sdk文档中说明进行配置

4.测试是否成功

   集成完成后,JPush  提供的推送服务是默认就已经开启,这时客户端就可以接收到来自服务的消息了,可通过登录到JPush用户平台,发送通知测试集成是否成功如图所示:


5.实现指定人群推送消息

     这里主要是通过极光的接口来实现,单个用户用别名(alias )、分组(tags)调用JPushInterface方法:

setAlias、setTags、以及同时设置别名和分组setAliasAndTags

以用户名为例:

HashSet set = new HashSet<String>();
String name = userPreferenceDao.getName();
set.add(name);
//用户绑定服务
JPushInterface.setTags(this, set, this);

用户登入APP时,获取该用户的Name,然后把用户名当做别名调用极光的JPushInterface.setTags() ,这样就可以给指定用户名推送消息了,


三、开发消息推送服务端


1.下载服务端SDK

下载地址: http://docs.jpush.cn/download/attachments/2228302/jpush-client-3.2.3.zip?version=2&modificationDate=1415166491000

2.在项目中加入jar包





1.创建JPushClient

JPushClient jpushClient = new JPushClient(masterSecret, appKey, 3);

 参数说明:

     masterSecret:注册应用的主密码,API 主密码

     appKey:注册应用的应用Key

     maxRetryTime:最大的尝试次数,设为3表示:跟服务器进行建立连接若失败会尝试再进行两次尝试

2. 构建一个PushPayload对象(推送对象)

  确定推送消息的目标,包括推送的平台(Android、IOS)、消息内容和目标(所有人、别名、标签),构建简单的推送对象:向所有平台,所有人,推送内容为 content 的通知。

 public static PushPayload buildPushObject_all_all_alert(String content) {

 

        return PushPayload.alertAll(content); 

  构建推送对象:所有平台,推送目标是别名为alias,通知内容为 content。 

public static PushPayload buildPushObject_all_alias_alert(String alias,String content) {

 

        return PushPayload.newBuilder()

         .setPlatform(Platform.all())//所有平台

         .setAudience(Audience.alias(alias))//向选定的人推送

         .setNotification(Notification.alert(content))//消息内容

         .build();}

  构建推送对象:向android平台,向目标标签tag,通知标题title,内容为 content。

public static PushPayload buildPushObject_android_tag_alertWithTitle (String alias,String title,String content) {

 

    return PushPayload.newBuilder().setPlatform(Platform.android())

                .setAudience(Audience.tag(tag))//向指定的组推送

                .setNotification(Notification.android(message, title, null)).build();        

3.推送消息

PushResult result=jpushClient.sendPush(payload);

  应用客户推送消息

    参数:payload 即第二步创建的推送对象

    返回值:PushResult 表示服务端推送结果

  包含下列数据:

       msg_id:返回推送消息的id



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值