文档章节

jpush 集成

@ccny
 @ccny
发布于 2015/12/10 20:03
字数 457
阅读 170
收藏 4
  1.  引入 jar 包  用的maven 构建    

<dependency>
    <groupId>cn.jpush.api</groupId>
    <artifactId>jpush-client</artifactId>
    <version>3.1.3</version>
</dependency>

2.创建工具类 ,在这里有一个坑是,ios 分为生产环境 、开发环境, 在bulid 之前 options 中设置apnsProduction 为 true

/**
 * @author liushuaic
 * @date 2015/08/31 15:30
 * 推送工具
 * */
public class MessageUtils {
/**
 * 推送渠道
 * JPUSH 极光推送
 * OTHER
 * **/
private static String accessWay="JPUSH";
/**
 * apid
 * */
/**
 * appk
 * */
private static String appKey="";
/**
 * 安全密钥
 * **/
private static String masterSecret="";
/**
 * 重连时间
 * */
private static int retryTimes=3;
/**
 * @author liushuaic
 * @date 2015/09/06 16:38
 * **/
public static Boolean sendMessage(String message){
if(accessWay.equals("JPUSH")){
JPushClient jpushClient=new JPushClient(masterSecret, appKey,retryTimes);
PushPayload pushPayLoad=buildPushObject_all_all_alert(message);
try {
PushResult pushResult=jpushClient.sendPush(pushPayLoad);
if(pushResult.isResultOK()){
return true;
}
} catch (APIConnectionException e) {
e.printStackTrace();
return false;
} catch (APIRequestException e) {
e.printStackTrace();
return false;
}
return true;
}
return false;
}
/**
 * @author liushuaic
 * @date 2015/09/06 16:31
 * 所有平台,所有设备
 * **/
    public static PushPayload buildPushObject_all_all_alert(String message) {
        return PushPayload.alertAll(message);
    }
    
    
    /**
     * @author liushuaic
     * @date 2015/09/06 19:08
     * 创建所有平台的信息通知
     * ***/
    public static PushPayload buildPushObject_all_all_alert(String alias,String title,String message) {
        Builder builder=  PushPayload.newBuilder();
        builder.setPlatform(Platform.all());
        builder.setAudience(Audience.alias(alias));
        builder.setNotification(Notification.android(title, message, null));
        returnbuilder.build();
    
    }
    
    /**
     * @author liushuaic
     * @date 2015/09/06 17:11
     * 所有平台别名为  alias 的设备
     * @param alias 别名
     * @param message 信息内容
     * **/
    public static PushPayload buildPushObject_all_alias_alert(String alias,String message) {
       
        Options options=Options.newBuilder().setApnsProduction(true).build();
        return PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.alias(alias))
                .setNotification(Notification.alert(message)).setOptions(options)
                .build();
    }
    
    
    
    /**
     * 
     * @author liushuaic
     * @date 2015/09/06 17:17
     * IOS 平台别名为  alias 的设备
     * @param alias 别名
     * @param message 信息内容
     * */
    public static PushPayload buildPushObject_IOS_alias_alert(String alias,String message) {
        Options options=Options.newBuilder().setApnsProduction(true).build();
        return PushPayload.newBuilder().setPlatform(Platform.ios()).setAudience(Audience.alias(alias)).setNotification(Notification.alert(message)).setOptions(options).build();
    }
    
    
    /**
     * 
     * @author liushuaic
     * @date 2015/09/06 17:17
     * ANDROID 平台别名为  alias 的设备
     * @param alias 别名
     * @param message 信息内容
     * 
     * */
    public static PushPayload buildPushObject_ANDORID_alias_alert(String alias,String message) {
        Options options=Options.newBuilder().setApnsProduction(true).build();
        return PushPayload.newBuilder().setPlatform(Platform.android()).setAudience(Audience.alias(alias)).setNotification(Notification.alert(message)).setOptions(options).build();
    }
/**
 * @author liushuaic
 * @date 2015/09/06 16:38
 **/
public static Boolean sendMessageByPushPayLoad(PushPayload pushPayLoad) {
    if (accessWay.equals("JPUSH")) {
        JPushClient jpushClient = new JPushClient(masterSecret, appKey, retryTimes);
    try {
        PushResult pushResult = jpushClient.sendPush(pushPayLoad);
        if (pushResult.isResultOK()) {
            return true;
           }
    } catch (APIConnectionException e) {
        e.printStackTrace();
        return false;
    } catch (APIRequestException e) {
        e.printStackTrace();
        return false;
    }catch (Exception e) {
        e.printStackTrace();
        return false;
    }
        return true;
    }
    return false;
    }
}


© 著作权归作者所有

共有 人打赏支持
@ccny

@ccny

粉丝 14
博文 113
码字总数 26759
作品 0
东城
架构师
私信 提问
极光推送推出极光IM功能了

历经几个月的沉寂,以及兄弟们的奋战,极光推送的兄弟产品诞生了:极光IM,英文名 JMessage。 极光IM 是我们团队基于大量客户的需求反馈,在很多客户的殷切期盼下所开发的。团队成员一方面要...

极光推送
2015/04/02
5.5K
2
Unity 下集成第三方原生 SDK,以极光厂商通道为例

Unity 项目开发中时常有集成 Android 第三方 SDK 的需求,比如接入第三方推送,分享等功能。而第三方 SDK 的集成文档提到的往往是基于原生 Android 项目集成。 第一种 导出 gradle 项目进行集...

极光推送
2018/11/12
0
0
IOS+cordova+jpush 如何调用本地jpush插件?

所有的html+Css+javascript都在一台 远程服务 上面,假设首页地址为http://a.cn 然后用cordova生成一个ios应用、并将远程服务器的首页地址http://a.cn传给cordova,使得app运行时自动跳转到远...

micro0
2015/12/24
865
1
三分钟帮你集成极光推送——和那些你可能不知道的事

本文简介:本文前篇,可以帮助朋友们快速集成极光推送。本文后篇,是我自己项目实践的一些总结和心得,应该对读者们还是很有参考价值的,相信读完这篇文章,你会对极光推送有更加深入的理解,...

一只懂音乐的码虫
2018/05/09
0
0
Ionic系列——极光推送

一、准备工作 1、首先你要创建好一个Ionic的项目。 2、你要去JPush官网注册一个账号,并新建一个应用,这个管理平台是可以手动发送消息,并统计分析的。 3、在上图中的应用包名要注意,这个得...

龙马行空
2015/10/09
4.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

单元测试

右键方法 Go To --> Test,简便快速生成测试方法。 相关注解 @RunWith(SpringRunner.class) 表示要在测试环境中跑,底层实现是 jUnit测试工具。 @SpringBootTest 表示启动整个 Spring工程 @A...

imbiao
26分钟前
0
0
欧拉公式

欧拉公式表达式 欧拉公式的几何意 cosθ + j sinθ 是个复数,实数部分也就是实部为 cosθ ,虚数部分也就是虚部为 j sinθ ,对应复平面单位圆上的一个点。 根据欧拉公式和这个点可以用 复指...

sharelocked
今天
2
0
burpsuite无法抓取https数据包

1.将浏览器和burpsuite的代理都设置好 2.在浏览器地址栏输入: http://burp 3.下载下面的证书,并将证书导入浏览器 cacert.der

Frost729
今天
2
0
JeeSite4.x 消息管理、消息推送、消息提醒

实现统一的消息推送接口,包含PC消息、短信消息、邮件消息、微信消息等,无需让所有开发者了解消息是怎么发送出去的,只需了解消息发送接口即可。 所有推送消息均通过 MsgPushUtils 工具类发...

ThinkGem
今天
8
0
OpenML

https://www.openml.org/search?type=data

shengjuntu
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部