java百度云推送demo_百度云推送java服务端maven安装完整demo
/*** 推送单播通知
*@author* @Date 2017年3月2日
* @Desc*/
public classBaiduPush {publicString[] pushNotificationByUser(String channelId,
Integer deviceType, String message,Mapmap){
String[] results= new String[3];
String retCode= "1";
String retMsg= "";try{//1. 设置developer平台的ApiKey/SecretKey,需到百度推送注册
String apiKey = "";
String secretKey= "";if (deviceType != null && deviceType.intValue() == 4) {//ios
apiKey =Constants.baiduIOSApiKey;
secretKey=Constants.baiduIOSSecretKey;
}else if(deviceType==3){//Android
apiKey =Constants.baiduAndroidApiKey;
secretKey=Constants.baiduAndroidSecretKey;
}//2. 创建PushKeyPair
PushKeyPair pair = newPushKeyPair (apiKey, secretKey);//创建BaiduPushClient,访问SDK接口
BaiduPushClient pushClient = newBaiduPushClient(pair,
BaiduPushConstants.CHANNEL_REST_URL);//3. 注册YunLogHandler,获取本次请求的交互信息
pushClient.setChannelLogHandler(newYunLogHandler() {
@Overridepublic voidonHandle(YunLogEvent event) {
System.out.println(event.getMessage());
}
});
JSONObject notification= newJSONObject();if(deviceType == 4){
JSONObject jsonAPS= newJSONObject();
jsonAPS.put("alert", message);
jsonAPS.put("sound", "ttt");
notification.put("aps", jsonAPS);
notification.put("title", "XXX");//notification.put("key2", "value2");这里用于用户自定义
if (map != null && !map.isEmpty()){
Set customContentMapKeys =map.keySet();
Iterator irt =customContentMapKeys.iterator();while(irt.hasNext()){
String key=(String)irt.next();
String value=(String)map.get(key);
notification.put(key, value);
}
}
}else if(deviceType==3){
notification.put("title", "XXX");
notification.put("description",message);
notification.put("notification_builder_id", 0);
notification.put("notification_basic_style", 4);
notification.put("open_type", 1);
notification.put("url", "http://push.baidu.com");//app上点开推送之后跳转的链接
JSONObject jsonCustormCont = newJSONObject();
jsonCustormCont.put("name", "test"); //自定义内容,key-value
notification.put("custom_content", jsonCustormCont);if (map != null && !map.isEmpty()){//map中放的是用户自定义内容
Set customContentMapKeys =map.keySet();
Iterator irt =customContentMapKeys.iterator();while(irt.hasNext()){
String key=(String)irt.next();
String value=(String)map.get(key);
notification.put(key, value);
}
}
}//4. 创建请求类对象
PushMsgToSingleDeviceRequest request = newPushMsgToSingleDeviceRequest()
.addChannelId(channelId)
.addTopicId(apiKey)
.addMsgExpires(new Integer(3600)). //message有效时间
addMessageType(1).//1:通知,0:透传消息. 默认为0 注:IOS只有通知.
addMessage(notification.toString()).
addDeviceType(deviceType);//deviceType => 3:android, 4:ios//5. 调用pushMessage接口
PushMsgToSingleDeviceResponse response =pushClient.
pushMsgToSingleDevice(request);//6. 认证推送成功
System.out.println("msgId: " +response.getMsgId()+ ",sendTime: " +response.getSendTime());
}catch(PushClientException e) {//ERROROPTTYPE 用于设置异常的处理方式 -- 抛出异常和捕获异常,//‘true‘ 表示抛出, ‘false‘ 表示捕获。
if(BaiduPushConstants.ERROROPTTYPE) {try{throwe;
}catch(PushClientException e1) {
e1.printStackTrace();
}
}else{
e.printStackTrace();
}
}catch(PushServerException e) {if(BaiduPushConstants.ERROROPTTYPE) {try{throwe;
}catch(PushServerException e1) {
e1.printStackTrace();
}
}else{
System.out.println(String.format("requestId: %d, errorCode: %d, errorMsg: %s",
e.getRequestId(), e.getErrorCode(), e.getErrorMsg()));
}
}finally{
results[0] =retCode;
results[1] =retMsg;
}returnresults;
}public static voidmain(String[] args) {
BaiduPush baiduPush= newBaiduPush();
Map map = new HashMap<>();
baiduPush.pushNotificationByUser("clientChannelId", 3, "今天天气不错",map);
}
}
java百度云推送demo_百度云推送java服务端maven安装完整demo相关推荐
- Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码
Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码 一.关于ZXing 1.ZXing是谷歌开源的支持二维码.条形码 等图形的生成类库:支持生成.和解码功能. G ...
- java计算机毕业设计融呗智慧金融微资讯移动平台服务端源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计融呗智慧金融微资讯移动平台服务端源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计融呗智慧金融微资讯移动平台服务端源码+系统+数据库+lw文档+myb ...
- java计算机毕业设计Vue.js网上书城管理系统设计与实现服务端MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计Vue.js网上书城管理系统设计与实现服务端MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Vue.js网上书城管理系统设计与实现服务端MyBatis+系统 ...
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- Uniapp的消息推送Unipush(在线、离线、服务端)
基本配置 Hbuild下打开PUSH,Unipush功能,并详细阅读"使用指南". 打包配置安卓包名,例如pts.sh 打包选择自有证书 自有证书生成:D:\Jav ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- socket java 客户端_Java基于socket实现的客户端和服务端通信功能完整实例
本文实例讲述了Java基于socket实现的客户端和服务端通信功能.分享给大家供大家参考,具体如下: 以下代码参考马士兵的聊天项目,先运行ChatServer.java实现端口监听,然后再运行Chat ...
- java 网络编程(二) tcp传输实现客户端和服务端进行信息交流
1.使用Tcp从一台电脑往另一台电脑上发送文本数据 客户端: import java.io.*; import java.net.*; /**** 客户端,* 通过查阅socket对象,发现在该对象建 ...
- JAVA Socket实现实时接收TCP消息,让你的服务端通信更高效!
本文主要介绍如何利用socket实现实时接收服务端发送的TCP消息. 目录 一.需要掌握 二.程序源码 三.运行演示 一.需要掌握 网络调试助手下载:https://www.aliyundrive.c ...
最新文章
- 强化学习(九)- 策略梯度方法 - 梯度上升,黑箱优化,REINFORCE算法及CartPole实例
- eselasticsearch入门_ElasticSearch入门学习-基础示例(1)
- 【数据结构与算法】之深入解析“最长公共前缀”的求解思路与算法示例
- 打印modal框中在线生成的二维码
- Android API Guides---RenderScript
- 1.1 一个简单的脚本
- C#多线程学习(六) 互斥对象
- 在ASP.Net Core和JAVA中,使用Azure配置密钥——Key Vault
- android 图标 textview,Android TextView添加图标ImageView
- Vaughn Vernon谈云原生和反应式现状
- 微信小程序云开发教程-云函数入门(2)-接收参数、前端调用
- XSS跨站点脚本攻击解决方案
- 如何更改node.js的控制台字体颜色?
- 二维码生成器 python excel_python 自动生成excel
- 下载qq付费音乐的demo
- <EDEM 基础案例02>Rock Box
- 计算机显示网络无权限访问权限,[系统知识]电脑显示无internet访问权限怎么办...
- linux rpm和deb的区别,rpm与deb都是什么呢 有什么区别呢
- 自建网盘利用OneDrive,oneindex网盘
- 计算机会计模块考试,会计电算化考试