Jpush极光推送的一些心得
在集成极光推送的时候,test完全正常。部署到服务器后只发送一条推送之后推送不继续发送。经排查:
- 2018-06-28 10:24:26.394 [ThreadPoolTaskExecutor-4] INFO c.j.c.connection.NettyHttpClient - - Created instance with connectionTimeout 5,000, readTimeout 30,000, maxRetryTimes 3, SSL Version TLS
因为JPUSH在3.12.15以后的版本需要显示的调用jpushClient.close() 来关闭NettyHttpClient
//消息gradle推送
compile 'cn.jpush.api:jpush-client:3.2.17'
/**
* 自定义按别名推送信息
* @param days
* @param extras
* @param alias
* @return
*/
public static PushPayload sendAndroidAndAlias(String days,Map<String, String> extras, String... alias) {
Builder builder = PushPayload.newBuilder();
return builder
.setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setMessage(Message.newBuilder()
.setTitle(extras.get("title"))
.setMsgContent(extras.get("msg"))
.addExtras(extras)
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(false)
.setTimeToLive(Long.valueOf(Integer.valueOf(days)*86400))
.build())
.setNotification(Notification.android(extras.get("msg"), extras.get("title"), extras))//后端推送。如果前端推送可以去掉
.build();
}
public static PushResult sendPush(PushPayload payload) throws APIConnectionException, APIRequestException{
JPushClient jPushClient = new JPushClient(MASTER_SECRET, APP_KEY);//定义的Jpushkey等
System.out.print("jPushClient 开始调用!!!!!!!!!!!!!"+payload.toString());
PushResult pushResult = jPushClient.sendPush(payload);
jPushClient.close();
System.out.print("jPushClient 调用完毕并且关闭NativeHttpClient");
return pushResult;
}
//推送别名推送
@Test
public void sendAndroidAndAlias() {
Map<String,String> parms = new HashMap<>();
parms.put("id","test");
parms.put("type","test");
parms.put("msg","test");
parms.put("title","test");
//jPush用户推送
String[] toId = new String[1];
toId[0] = userId.toString();
try {
PushPayload data = MsgPushUtils.sendAndroidAndAlias("1",parms,userIDs);
// MsgPushUtils.sendPushTryCatch(data,log);
MsgPushUtils.sendPush(data);
} catch (APIConnectionException e) {
log.error("Connection error. Should retry later. ", e);
} catch (APIRequestException e) {
log.error("Error response from JPush server. Should review and fix it. ", e);
log.info("HTTP Status: " + e.getStatus());
log.info("Error Code: " + e.getErrorCode());
log.info("Error Message: " + e.getErrorMessage());
}
Jpush极光推送的一些心得的更多相关文章
- atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99
atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消 ...
- 使用JPush(极光推送)实现远程通知
使用JPush(极光推送)实现远程通知 远程推送是APP 必备的功能, 现在第三方的 SDK 已经做的非常完备了, 在 iOS10.0出来之后, 极光推送也及时更新了他的 SDK, 今天小试了一下效果 ...
- Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- Android消息推送——JPush极光推送
刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...
- JPush (极光推送) For Xamarin.Android
官方教程上讲的是 GCM (Google Cloud Messaging) , 不过 GFW 是 GCM 过不去的坎. 极光推送 JPush 是国内的一个不错的替代方案. JPush 提供的 API ...
- 用Jpush极光推送实现抓取特定某个用户Log到七牛云服务器
场景 我们的app常常会出现某个特定用户的手机出现异常情况,(注意不是所有用户,特定机型特定用户)如果用友盟,那么多log你也抓不完 ,看不到log就无法解决问题. 那么问题来了,如何实现对特定某个用 ...
- JPush极光推送 Java调用服务器端API开发
极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ...
- Android JPush极光推送应用
JPush纠结了5-6个小时,一直报下面的错误,纠结! [AndroidUtil] AndroidManifest.xml missing required intent filter for Pus ...
随机推荐
- mysql学习笔记--数据库设计
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
- Git 分支合并:合并某次提交
有时只想合并其它分支到某次提交,而不是所有提交. 一 切换到当前分支 首先,在做一次可能有冲突的合并前尽可能保证工作目录是干净的. 如果你有正在做的工作,要么提交到一个临时分支要么储藏它. 这使你可以 ...
- Springboot学习06-Spring AOP封装接口自定义校验
Springboot学习06-Spring AOP封装接口自定义校验 关键字 BindingResult.Spring AOP.自定义注解.自定义异常处理.ConstraintValidator 前言 ...
- Python基础-python数据类型(四)
python数据类型 在python中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中对象的类型. python中的数据类型: 1.数字 python中没有专门定义常量的方式,通常使用大写 ...
- Django中操作Redis
一 创建redis连接池 redis_pool.py pool = redis.ConnectionPool(host='10.211.55.4', port=6379) 二 引入连接池 import ...
- 改变this的指向问题;
用call()和apply()改变this的指向,那什么时候用this呢?(构造函数),那为什么要用构造函数呢?(为了生成对象). 1.解决函数内this指向的问题 (1)var that/_this ...
- c#关于Mysql MySqlBulkLoader 批量上传
有个list表有几万数据 用insert插入,速度跟蜗牛爬行, 几十个表,传起来可就需要时间了. 搜搜,发现有 MySqlBulkLoader 这个人家mysql 的dll 里边已经提供了这个方法 ...
- python基础 (编码进阶,文件操作和深浅copy)
1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...
- 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量 大概的思路是利用sh,从日志中提取出来对应的IP地址,然后再交由python进行对比,判断,最终将需要添加至iptables列表中的IP写入到 ...
- boost asio 学习(六) 定时器
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=7 6 定时器 ...